DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Hallo!
Ich verwende in Delphi XE3 Pro in einer Komponenten-Unit in der uses-Klausel DesignIntf, DesignEditors. Das Package mit dieser Unit kompiliert ohne Probleme. Wenn ich jedoch ein Programm kompilieren möchte, das diese Komponente verwendet, meckert der Compiler: "[dcc32 Fataler Fehler]: F1026 Datei nicht gefunden: 'DesignIntf.dcu'" $(BDS)\source\ToolsAPI befindet sich natürlich im Suchpfad. Wo ist der Fehler? |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Hallo,
diverse Hinweise findest du hier. https://forums.embarcadero.com/threa...?threadID=1966 Heiko |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
Zitat:
|
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Danke! Hier nochmals die Lösung auf Deutsch und etwas präziser, wenn andere danach suchen sollten:
In Projekt -> Optionen -> Delphi-Compiler -> Compilieren -> Weitere Optionen -> Weitere Optionen für die Übergabe an den Compiler folgendes eintragen: -LUDesignIDE Auf Englisch ist der Pfad: Project>Options>Delphi Compiler>Compiling>Other Options>Additional options to pass to the compiler Leider steht auf dieser Seite nicht, ob der Fehler bei Embarcadero liegt, die vergessen haben, diese Option einzufügen, oder ob der Fehler in der Konfiguration des Komponenten-Packages liegt. Es wäre wichtig, diese Ursache zu kennen, vor allem, wenn man die Komponente weitergeben möchte! |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
|
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Ich habe jetzt nachgeschaut: In der DPK-Datei ist die Compiler-Direktive {$DESIGNONLY} bereits enthalten!
Müsste nicht diese dafür sorgen, dass das Package nur für die IDE kompiliert wird? |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
|
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
{$IFDEF VER240} DesignIntf, DesignEditors, {$ENDIF} Die Komponente kompiliert damit ohne Probleme, aber beim Kompilieren des Programms, das diese Komponente verwendet, meckert wieder der Compiler mit der obigen Fehlermeldung. Welche IFDEFs sollte man denn nun verwenden? |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Definiere dir ein eigenes zb:
Delphi-Quellcode:
Und fügst diese in die Defines vom Package-Projekt. In deinem Programm brauchst du dann nichts mehr machen.
{$IFDEF MYPACKAGE}{$ENDIF}
|
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
Den Designtime Code von Komponenten sollte man in eine separate Unit auslagern, aber wenn man kein Runtime Package benötigt, dann kann man auch den Designtime Code per IFDEF nur in das Designtime Package einkompilieren. Die Unit könnte so aussehen
Delphi-Quellcode:
und das Package wäre dann im Beispiel mit der Bedingung DESIGN_ONLY zu kompilieren.
unit FooComp;
interface uses {$IFDEF DESIGN_ONLY}DesignIntf, DesignEditors,{$ENDIF} System.Classes; {$IFDEF DESIGN_ONLY} //Designtime Editor interface code depends on DesignIntf... {$ENDIF} implementation {$IFDEF DESIGN_ONLY} //Designtime Editor implementation code depends on DesignIntf... {$ENDIF} end. |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
|
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
@USchuster
Vielen Dank für die ausführlichen Hinweise! Wenn ich {$IFDEF DESIGN_ONLY} verwende, meckert zwar der Compiler im Programm (das die Komponente verwendet) nicht mehr, aber der designtime-spezifische Komponenten-Code wird in der IDE (also zur designtime) nicht mehr ausgeführt! |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Danke für die Hinweise, jetzt funktioniert es!
Ich habe jetzt den Komponenten-Editor Code in eine andere Unit ausgelagert und RegisterComponentEditor im initialization Abschnitt dieser Unit aufgerufen. Ist das richtig? Denn natürlich kann ich von meiner Komponenten-Unit keinen Code aus der Komponenten-Editor Unit aufrufen, da sonst der Compiler in dem Programm, das die Komponente verwendet, ja sonst gleich wieder meckern würde! |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Zitat:
Zitat:
Delphi-Quellcode:
unit FooEditor;
interface procedure Register; implementation uses DesignIntf; procedure Register; begin RegisterComponentEditor(...); end; end. |
AW: DXE3: F1026 Datei nicht gefunden: 'DesignIntf.dcu'
Danke für die Hinweise, die mir sehr geholfen haben!
Zitat:
Dort steht zur Zeit "DEBUG". |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz