Autor Téma: Direktíva v súbore *.dpk  (Přečteno 588 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6051
  • Karma: 44
    • Verze Delphi: W10 + D11
Direktíva v súbore *.dpk
« kdy: 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.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Jan Fiala

  • Plnoletý
  • ***
  • Příspěvků: 237
  • Karma: 3
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:Direktíva v súbore *.dpk
« Odpověď #1 kdy: 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}

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6051
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Direktíva v súbore *.dpk
« Odpověď #2 kdy: 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.

« Poslední změna: 12-09-2021, 13:26:05 od Stanislav Hruška »
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1274
  • Karma: 51
    • Verze Delphi: 10.3
Re:Direktíva v súbore *.dpk
« Odpověď #3 kdy: 12-09-2021, 13:58:53 »
Excellent
Rated 1 time
Nezkoušel jsem, ale přijde mi, že Ti tam chybí dolar. {$IFDEF...

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6051
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Direktíva v súbore *.dpk
« Odpověď #4 kdy: 12-09-2021, 14:30:46 »
Naozaj, chýba.  ;D Vôbec som si to neuvedomil.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3292
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Direktíva v súbore *.dpk
« Odpověď #5 kdy: 12-09-2021, 14:31:33 »
A kde definuješ proměnnou VER340
To je v Delphi standardně předdefinovaný symbol

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6051
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Direktíva v súbore *.dpk
« Odpověď #6 kdy: 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.   ;
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1062
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:Direktíva v súbore *.dpk
« Odpověď #7 kdy: 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

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6051
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Direktíva v súbore *.dpk
« Odpověď #8 kdy: 12-09-2021, 21:14:18 »
To je len dočasné riešenie kým sa mi podarí spojazdniť D11. Viď koniec #3
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.