Forum Delphi.cz

Delphi => Obecné => Téma založeno: Stanislav Hruška 12-09-2021, 12:15:37

Název: Direktíva v súbore *.dpk
Přispěvatel: Stanislav Hruška 12-09-2021, 12:15:37

Môže niečo také použiť v *.dpk?
Kód: Delphi [Vybrat]
  1.   {IFDEF VER340}  //  Delphi Sydney
  2.   TMSVCLUIPackPkgDXE13,
  3.   TMSVCLUIPackPkgExDXE13
  4.   {ELSE}
  5.   {IFDEF VER350}  //  Delphi Alexandria - predpokladám správne?
  6.   TMSVCLUIPackPkgDXE14,
  7.   TMSVCLUIPackPkgExDXE14
  8.   {IFEND}
Akosi mi to nefunguje. Spustím kompiláciu v D11 a stále sa pracuje s xxx13. Ak to napíšem bez direktív s xxx14, tak je pre D11 v poriadku.
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: Jan Fiala 12-09-2021, 12:37:22
A kde definuješ proměnnou VER340 ?  možná ti tam chybí .INC soubor, kde je VER340 definovaný
Pro detekci Delphi 11 muzes pouzit:
Kód: Delphi [Vybrat]
  1. {$IF CompilerVersion = 35}  // Delphi 11
  2. ...
  3. {$ELSE}
  4. ...
  5. {$ENDIF}
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: Stanislav Hruška 12-09-2021, 13:21:57
Tu je celý obsah okrem úvodu
Kód: Delphi [Vybrat]
  1. package JasotComponents;
  2.  
  3. .
  4. requires
  5.   rtl,
  6.   vcl,
  7.   vclactnband,
  8.   vclx,
  9.   xmlrtl,
  10.   dbrtl,
  11.   vcldb,
  12.   adortl,
  13.   vclimg,
  14.   VclSmp,
  15.   VirtualTreesDR,
  16.   {IFDEF VER340}  //  Delphi Sydney
  17.   TMSVCLUIPackPkgDXE13,
  18.   TMSVCLUIPackPkgExDXE13
  19.   {ELSE}
  20.   {IFDEF VER350}  //  Delphi Alexandria
  21.   TMSVCLUIPackPkgDXE14,
  22.   TMSVCLUIPackPkgExDXE14
  23.   {IFEND}
  24.   ;
  25. .
  26. contains
  27.   jstSizePanel in '..\source\jstSizePanel.pas',
  28.   jstVirtualStringTree in '..\source\jstVirtualStringTree.pas',
  29.   jstAdvPanel in '..\source\jstAdvPanel.pas',
  30.   jstDatePicker in '..\source\jstDatePicker.pas',
  31.   jstDBDatePicker in '..\source\jstDBDatePicker.pas',
  32.   jstPlanSimpleEdit in '..\source\jstPlanSimpleEdit.pas' {SimplePlannerItemEditForm},
  33.   jstPlanPeriodEdit in '..\source\jstPlanPeriodEdit.pas' {PeriodPlannerItemEditForm},
  34.   jstPlanItemEdit in '..\source\jstPlanItemEdit.pas' {DefaultPlannerItemEditForm},
  35.   jstbasicfunctions in '..\source\jstbasicfunctions.pas',
  36.   jstPlanRecurrEdit in '..\source\jstPlanRecurrEdit.pas' {RecurrEdit},
  37.   jstplanreg in '..\source\jstplanreg.pas',
  38.   jstPlanAlarmEdit in '..\source\jstPlanAlarmEdit.pas' {jstAlarmPlannerEditor},
  39.   AlarmPlannerEditForm in '..\source\AlarmPlannerEditForm.pas' {frmAlarmPlannerEditForm};
  40. end.
V podstate sa na to môžem vykašľať. D10 pôjde preč. Musím ešte počkať, lebo D11 nevie nájsť súbor z TMS Cryptography. A ak po odstránení chyby otvorím svoj projekt, tak ho môžem zahodiť.
Za odpoveď ďakujem.

Název: Re:Direktíva v súbore *.dpk
Přispěvatel: vandrovnik 12-09-2021, 13:58:53
Nezkoušel jsem, ale přijde mi, že Ti tam chybí dolar. {$IFDEF...
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: Stanislav Hruška 12-09-2021, 14:30:46
Naozaj, chýba.  ;D Vôbec som si to neuvedomil.
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: pf1957 12-09-2021, 14:31:33
A kde definuješ proměnnou VER340
To je v Delphi standardně předdefinovaný symbol
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: Stanislav Hruška 12-09-2021, 18:08:53
Takto mi to funguje
Kód: Delphi [Vybrat]
  1.   {$IFDEF VER340}  //  Delphi Sydney
  2.   TMSVCLUIPackPkgDXE13,
  3.   TMSVCLUIPackPkgExDXE13
  4.   {$ENDIF}
  5.   {$IFDEF VER350}  //  Delphi Alexandria
  6.   TMSVCLUIPackPkgDXE14,
  7.   TMSVCLUIPackPkgExDXE14
  8.   {$ENDIF}
  9.   ;
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: JaroB 12-09-2021, 19:52:17
Kdybych to dělal já, tak bych si z praktických důvodů pro každou verzi Delphi vytvořil vlastní DPK
Název: Re:Direktíva v súbore *.dpk
Přispěvatel: Stanislav Hruška 12-09-2021, 21:14:18
To je len dočasné riešenie kým sa mi podarí spojazdniť D11. Viď koniec #3