Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#18

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 16. Jun 2020, 10:33
Hallo Delphi.Narium,

ich habe es gerade nochmal gecheckt.
Auch das scheint nicht zuverlässig zu funktionieren.
Wenn ich das Projekt aufräume, und nur alle Uses im Include ergänze

Delphi-Quellcode:
program TTest;

{$R *.dres}

uses
  System.StartUpCopy,
  FMX.Forms,
  UMain_Frm in 'UMain_Frm.pas{Form_Main},
  UMain_Modules in 'UMain_Modules.pas',
  UMain_Pages in 'UMain_Pages.pas',
{$I '_FmxFixes\_FmxFixes.inc'}    //<== hier sind ale Fixes zusammengefasst drin
  ;

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm_Main, Form_Main);
  Application.Run;
end.


// Mit _FmxFixes.inc
  , FMX.ListView.iOS in '_FmxFixes\FMX.ListView.iOS.pas'
  , FMX.ListView in '_FmxFixes\FMX.ListView.pas'
  , System.iOS.Sensors in '_FmxFixes\System.iOS.Sensors.pas'

oder auch wenn die Units selber direkt mit eingebunden werden

Delphi-Quellcode:
program TTest;

{$R *.dres}

uses
  System.StartUpCopy,
  FMX.Forms,
  UMain_Frm in 'UMain_Frm.pas{Form_Main},
  UMain_Modules in 'UMain_Modules.pas',
  UMain_Pages in 'UMain_Pages.pas',
  FMX.ListView.iOS in '_FmxFixes\FMX.ListView.iOS.pas',
  FMX.ListView in '_FmxFixes\FMX.ListView.pas',
  System.iOS.Sensors in '_FmxFixes\System.iOS.Sensors.pas',
  ;

{Main_Styles_Form}

{$R *.res}

begin
  Application.Initialize;
...

Es kompiliert und läuft Beides.

Problem:
In beiden Fällen kann ich in irgendeiner Unit die FMX.ListView benutzt dieses File öffnen,
aber es öffnet sich immer die orginale Unit in der IDE, nicht der Fix.

Die einzig zuverlässige Lösung ist und bleibt anscheinend:
- gefixte Units müssen im gleichen Verzeichnis der .DPR /.DPROJ liegen
- alle gefixten Units müssen direkt in das Projekt, in die .DPR eingebunden werden

Nur dann scheinen Compiler/Linker UND IDE/Debugger immer die richtige Unit zu benutzen.

Mal abgesehen davon, das ein Einbinden von Includes das Einfügen von Files im Designer durcheinanderbringt, und regelmäßig die .DPR STruktur zerstört.
Was aber das kleinere Problem wäre.

Ok, ich gebe mal wieder auf, wie schon zuvor, und lasse den Müll eben in der .DPR und im Verzeichnis.
Die Hoffnung stirbt zuletzt.
  Mit Zitat antworten Zitat