Einzelnen Beitrag anzeigen

davtix

Registriert seit: 29. Mai 2003
Ort: Berlin
87 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Unterschiedliche Units für Debug und Release

  Alt 31. Okt 2021, 11:46
Kennt jemand einen Weg wie unterschiedliche Units für das Release und Debug zu händeln ist?


Zur erklärung:

Ich habe einen Updater geschrieben in dem eine Unit vorkommt die unterschiedliche Werte (bsp.pfadangaben) zum auslesen hat.
Dieses Projekt wird in das jeweilige Hauptprojekt(app), der upzudatenden Application, neu erstellt. (updater für proj X)
Beide Projecte sind bis auf eine Unit identisch. -> variable_datas.pas

Jedes Hauptprojekt(app) erhält somit seinen eigenen (updater für proj X) mit nur unterschiedlicher variable_datas.pas.
Per Knöpfchen im Updater werden die Quellcodedateien, ausser die variable_datas.pas, vom Updater zu (updater für proj X) überschrieben, schreibgeschützt und das (updater für proj X) Projekt mit eigener variable_datas.pas compiliert.

Struktur:

Updater
-- (updater für proj X) mit eigener variable_datas.pas
-- (updater für proj Y) mit eigener variable_datas.pas
-- (updater für proj Z) mit eigener variable_datas.pas


Hauptprojekt(app X )
-- -- (updater für proj X) mit eigener variable_datas.pas
Hauptprojekt(app Y )
-- -- (updater für proj Y) mit eigener variable_datas.pas
Hauptprojekt(app Z )
-- -- (updater für proj Z) mit eigener variable_datas.pas


Ausschnitt Updater variable_datas.pas

Delphi-Quellcode:
unit variable_datas;

interface

  function give_DATA( s1, s2 :string; i1, i2 :integer ):string;

  //umgelenkte proceduren und functionen -- diese codes sind nur für den HAUPTUPDATER verfügbar
  procedure refresh_UPDATERcodes_Link( func, selected_entry, sender_button_number : string);


implementation
uses unit1;

function give_DATA( s1, s2 :string; i1, i2 :integer ):string;
begin
  reult := 'hier mein wert nur für updater'
end;


refresh_UPDATERcodes( func, selected_entry, sender_button_number );
begin
  dateien vergleichen, schreibschutz raus, dateien kopieren, schreibschutz rein, projektdatei suchen, compilieren
end;

procedure refresh_UPDATERcodes_Link( func, selected_entry, sender_button_number : string);
begin
  refresh_UPDATERcodes( func, selected_entry, sender_button_number );
end;


end.

Ausschnitt updater für proj Y variable_datas.pas

Delphi-Quellcode:
unit variable_datas;

interface

  function give_DATA( s1, s2 :string; i1, i2 :integer ):string;

  //umgelenkte proceduren und functionen -- diese codes sind nur für den HAUPTUPDATER verfügbar
  procedure refresh_UPDATERcodes_Link( func, selected_entry, sender_button_number : string);


implementation
uses unit1;

function give_DATA( s1, s2 :string; i1, i2 :integer ):string;
begin
  reult := 'hier mein wert nur für updater für proj Y'
end;




procedure refresh_UPDATERcodes_Link( func, selected_entry, sender_button_number : string);
begin
  //nix
end;


end.


Etwas ähnliches schwebt mir nun für die Debugversion und Releaseversion vor.
Codes die ich im Debugmodus brauche möchte ich im Releasemodus ins leere laufen lassen.
  Mit Zitat antworten Zitat