Avatar billede jespersp Nybegynder
08. februar 2006 - 16:27 Der er 9 kommentarer og
2 løsninger

Mit delphi 6.0 program på en PocketPC?

Hej mæ jer,

Jeg har kodet et lille delphiprogram på mit arbejde der styrer nogen dimser og opsamler lidt data. Min arbejdsgiver vil gerne have at programmet også kan køre på en PocketPC, men det kan Delphi 6 vist ikke kompilere til?

Hvad er den nemmeste løsninig på at få mit software til at køre på en PocketPC? Er det nemmest at portere det til M$ Visual Basic, eller skal jeg opgradere til en nyere version af Delphi?

/JesperSP
Avatar billede mtj111 Novice
08. februar 2006 - 16:36 #1
Du skal vist have fat i en Delphi 2005 eller 2006, og følge denne guide: http://bdn.borland.com/article/0,1410,33066,00.html

Jeg har ikke prøvet den, men den ser ud til at virke...

Michael
Avatar billede mtj111 Novice
08. februar 2006 - 16:38 #2
(Du skal have Delphi 2005 eller 2006 (Delphi 8 dur vist også), fordi at du skal udvikle en "Delphi For .NET"-program)
Avatar billede bonzai Nybegynder
10. februar 2006 - 08:16 #3
Jeg havde samme problem for et halvt års tid siden, og prøvede rent faktisk også at følge den guide Michael har linket til, men det var godt nok besværligt og indviklet at få styr på i delphi. Så det endte med at jeg blev anbefalet at bruge Visual Studio .net og det virkede bare perfekt. Visual Studio .net er netop beregnet på at udvikle til Pocket PC via compact framwork. Så det var bare lige at konvertere koden fra delphi til C# (som jeg programmerede min Pocket PC applikation i).
Avatar billede hrc Mester
10. februar 2006 - 10:24 #4
Det er rent faktisk lykkes mig at lave programmer på Delphi 2006 - og let er det ikke. Der er mange ting der spiller ind.

Start med at få fat i en Delphi 2006 da den har en frigivet DCCIL-oversætter samt et .cf-katalog. Delphi 2005 er noget lort.

Man starter med .NET Compact Framework v. 1.x. Det er et subset af den "almindelige" .NET v. 1.1 og det kan godt være ret drilagtigt for eksempelvis mangler det .Name propertien. Selvom du godt kan referere til btnOK i din kode skal du faktisk fjerne navnet og andre properties i din source, før du har en chance for at du kan oversætte. Andre properties der heller ikke virker er: TabIndex, Align og TListViewItem.Tag. Sidstnævnte som følge af at det faktisk retter en dum implementering fra Win32.

Dernæst skal du hente den nyeste (og løbende tjekke efter opdateringer, for det er ikke en perfekt add-on) Compact Framework Build Helper (www.jed-software.com). Det er en lille  add-on der hjælper dig langt. Det vigtigste her er at holde alle sourcefiler åbne i din Delphi og huske at gemme dem alle før du oversætter, da add-on'en har en led vane med at slette dine source-filer - det vænner man sig til. Tag backup regelmæssigt.

Så kan du faktisk gå igang. Når du oversætter og har inkluderet xml-filer i dit projekt, så genererer Delphi units til at læse disse. Det skal man også huske at slå fra før man oversætter.

... som jeg sagde. Det er ikke let.
Avatar billede hrc Mester
26. februar 2006 - 22:44 #5
Er du kommet videre Jesper?
Avatar billede jespersp Nybegynder
28. februar 2006 - 08:05 #6
Jeg har endnu ikke fået fat på Delphi 2006 - men jeg kan se at Borland lige har frigivet en trial, så den vil jeg prøve at downloade
Avatar billede mtj111 Novice
02. juni 2006 - 23:53 #7
På tide at få lukket?

Jeg smider et svar, hvis du kunne bruge linket. Hvis ikke, så bare afvis det :-)
Avatar billede hrc Mester
03. juni 2006 - 13:39 #8
mtj111: Dit link virker, men vigtigere i linket er, hvordan du får en emulator op at køre.

Når det er på plads så er "Compact Framwork Build Helper" vejen frem. Den og så en lille dll-fil som kan strippe de properties som jeg nævnte tidligere og man er kørende.

Fordelen med CFBH er, at man oversætter i Delphi-miljøet og ikke roder rundt i bat-filer som kun få efterhånden kan finde ud af.

P.S. I "Delphi .NET" er dfm-filen blevet lagt sammen i pas-filen. Det pudsige er, at selvom dll-et fjerner de ikke understøttede properties fra koden så bliver Delphi ved med at kende dem. Du kan altså stadig gøre dette: btnTest.Text := 'Hello world'; selvom navnet på komponenten er blevet fjernet. Jeg har ikke lige hittet ud af den detalje endnu, men oplysningerne må ligge i en af de mange andre filer der er kommet til i projekt-kataloget.
Avatar billede jespersp Nybegynder
23. juli 2006 - 12:26 #9
Vi har købt Delphi 2006 på mit arbejde - men jeg har endnu ikke fået kigget på at overføre programmet til CF. Men i kan få lov til at dele points...

Der er både plusser og minuser ved oprgraderingen fra Delphi 6 ->2006. Jeg synes BD2006 kører noget langsommere end D6. Til gengæld har jeg fundet et par bug-fixes i 2006 - selvom jeg har installeret all updates i D6.
Avatar billede mtj111 Novice
23. juli 2006 - 12:34 #10
Jeg siger mange tak :-)
Avatar billede hrc Mester
23. juli 2006 - 20:58 #11
Mange tak. D2006 er også et meget større program, så det kræver en nyere maskine og en ordentlig mængde ram. Forlang 1,5Gb af din chef hvis du skal .NET'te den. Desværre er hjælpedelen blevet Microsoftsk, så den er ikke bedre end D6-7 - men der er rigtig meget af den!

Du er velkommen til at kontakte mig om du har problemer. Jeg har ikke fortrængt mine indledende kvaler med .NET endnu, ej heller de mærkelige ting der sker fordi D2006 kun delvist understøtter CF. Min adresse er "hrc_public at hotmail"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester