Autor Téma: Delphi XE a projekt v 5ce  (Přečteno 3435 krát)

Offline Petr

  • Příspěvků: 14
  • Karma: 0
Delphi XE a projekt v 5ce
« kdy: 06-10-2012, 14:01:39 »
Ahoj,

chtel bych se zeptat, zda se da v Delphi XE Professional 2010 editovat, ladit a prekladat projekt psany v Delphi 5 (nemuzu ho prekonvertovat).

Diky za odpoved.

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Delphi XE a projekt v 5ce
« Odpověď #1 kdy: 06-10-2012, 14:06:18 »
Záleží na tom, co v něm používáš. V zásadě to bude fungovat, ale budeš si muset najít/napsat XE verze použitých komponent, doladit nekompatibility v nich (dá se předpokládat, že pro 5ky používáš starší verzi komponent než pro XE, a dále lze předpokládat, že ta novější verze bude mít i nějaké nekompatibilní změny) a zejména se vypořádat s přechodem na Unicode. Ale jinak v zásadě není důvod, proč by ti to nemělo fungovat - pokud aplikaci napíšeš čistě, tak může klidně být kompatibilní napříč Delphami (např. můj YTD běží v 5 i v XE2, dokonce "skoro" v 64 bitech - "skoro" proto, že mi tam v jednom DLL chybí pár používaných funkcí a já netuším, proč se na to DLL obracím...).

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi XE a projekt v 5ce
« Odpověď #2 kdy: 06-10-2012, 18:43:25 »
chtel bych se zeptat, zda se da v Delphi XE Professional 2010 editovat, ladit a prekladat projekt psany v Delphi 5 (nemuzu ho prekonvertovat).
  • Pokud jsi pouzival vsude typy ShortString, AnsiString, AnsiChar a PAnsiChar, tak ti program pujde prelozit a bude fungovat
  • Pokud jsi pouzival string a char a nepredaval jsi nikam ukazatel na kus pameti se znaky, kde se predpokladalo, ze 1 char = 1 byte, tak to taky pujde prelozit, az na operace s mnozinou znaku. Ty se musi prekonvertovat na pouziti funkce CharInSet(). Pak by to taky melo fungovat
  • V ostatni pripadech to muze jit i prelozit, ale fungovat to nebude. A pak zalezi, co s tim chces udelat. Mas v zasade dve moznosti
    • vsechno zachovat v 8-bitove (Ansi) verzi a jen ji spravne zapsat
    • migrovat to do Unicode

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi XE a projekt v 5ce
« Odpověď #3 kdy: 07-10-2012, 18:34:39 »
Nejsem si jistý, zda v 5 nebude problém s češtinou uloženou v DFM. Navíc některé komponenty mají nové vlastnosti, které budou uloženy v DFM a 5 bude asi protestovat.

V  5 je v DFM přímo
Kód: Delphi [Vybrat]
  1. Caption = 'Kniha jízd'
  2.  

ve vyšších verzích (asi od 7?) je tam
Kód: Delphi [Vybrat]
  1. Caption = #218'koly a ud'#225'losti'
  2.  

Proč ho nemůžeš překonvertovat?
Embarcadero MVP - Czech republic

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1065
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:Delphi XE a projekt v 5ce
« Odpověď #4 kdy: 07-10-2012, 19:09:11 »
DFM se musí vždycky shodovat s tou nejnižší verzí Delphi, kterou bude projekt překládán, jinak dojde při nesouladu k chybě při čtení z dfm proudu. Pokud upravíte v Delphi XE něco na formuláři, musíte ho překonvertovat zpět do ASCII (například něco takového je v CNWizards packu) a pak ho v Delphi 5 otevřít a následně uložit. Už při otevření to bude protestovat, nutno ignorovat, až se načte a zobrazí celý formulář, a ten pak uložit, teď už ve správném formátu Delphi 5. U verzí vyšších, Delphi 6 a výš, konvertování na ASCII sice odpadá, ale i tak musí souhlasit verze DFM s aktuálním překladačem resp. VCL.

Offline Petr

  • Příspěvků: 14
  • Karma: 0
Re:Delphi XE a projekt v 5ce
« Odpověď #5 kdy: 07-10-2012, 21:09:00 »
Ahoj,

diky moc za odpovedi.

Nemohu ko konvertovat, protoze v tymu lidi mam jen ja novo verzi :-(.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi XE a projekt v 5ce
« Odpověď #6 kdy: 07-10-2012, 22:58:21 »
Nejsem si jistý, zda v 5 nebude problém s češtinou uloženou v DFM. Navíc některé komponenty mají nové vlastnosti, které budou uloženy v DFM a 5 bude asi protestovat.
...
ve vyšších verzích (asi od 7?) je tam
Kód: Delphi [Vybrat]
  1. Caption = #218'koly a ud'#225'losti'
  2.  

Aha, na to jsem zapomel, protoze my vzdycky vyvijeli anglicky a do cestiny prekladali.  A mam dojem, ze uz to bylo v D6, ale HOSIP.
« Poslední změna: 07-10-2012, 23:13:34 od pf1957 »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Delphi XE a projekt v 5ce
« Odpověď #7 kdy: 07-10-2012, 23:19:09 »
Nemohu ko konvertovat, protoze v tymu lidi mam jen ja novo verzi :-(.
Prenesitelnost kodu mezi prekladaci se dela podminenym prekladem (viz treba jedi.inc & spol. v JCL).
Ale s temi .DFM, jak pise JaroB, to asi neni nijak rozumne resitelne... Jedine do nich nacpat opravdu
minimum a zbytek nastavovat v RT kodem. Ale kdyz uz je to napsane...

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1065
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:Delphi XE a projekt v 5ce
« Odpověď #8 kdy: 08-10-2012, 08:37:46 »
Jen doplňuji, nástroj "DFM Convet Tool" je dostupný z menu CNPacku jako DFM Convertor. Ale i tak je nutné otevřít formulář v té příslušné verzi Delphi a srovnat public property.

Offline JiVi

  • Příspěvků: 2
  • Karma: 0
Re:Delphi XE a projekt v 5ce
« Odpověď #9 kdy: 08-10-2012, 15:11:31 »
Nebude tady i problem s unitami, tj v D5 jsou nektere systemove metody v jinych unitach nez je pak Borland rozhazel do jinych unit?

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi XE a projekt v 5ce
« Odpověď #10 kdy: 08-10-2012, 15:43:33 »
Nebude tady i problem s unitami, tj v D5 jsou nektere systemove metody v jinych unitach nez je pak Borland rozhazel do jinych unit?

Hlavně s Variants (které přišlo s D6). Ale to se da pres IFDEF ošéfovat. Zbytek není až takový problém.
Embarcadero MVP - Czech republic