![]() |
DeveloperExpress Komponenten von D5 nach D7
Hallo Zusammen,
ich kämpfe mit der Umstellung einer Anwendung von D5 nach D7 (nicht fragen wieso, ist leider so). Wir haben damals für D5 eine Bibliothek (BPL) von DeveloperExpress erworben, inkl. der Sourcen. Im Verzeichnis gibt es zwei DPK Files mit den Sourcen. Die eine DPK Datei habe ich geöffnet und alle PAS Files nun kompiliert. Nun geht es darum in der 2. DPK die Umgebung der Komponenten zu erzeugen und da hänge ich nun. Es wird vieles mit $IFDEF DELPHI6 geprüft, wie auch in dem unteren genannten Beispiel: Wie ist hier zu verfahren? DELPHI6 durch DELPHI7 ersetzen und evt. fehlende Klassen ersetzen? Als zweites bekomme ich einen Fehler, weil TFORMDESIGNER nicht gefunden wird. function TdxfComboBoxItemsProperty.GetValue: string; begin Result := Format('(%s)', [TStrings.ClassName]); end; {TdxfRealDesigner} procedure TdxfRealDesigner.SelectComponent(Instance: TPersistent); begin {$IFDEF DELPHI6} if(FDesigner <> nil) then FDesigner.SelectComponent(Instance); {$ELSE} with {$IFDEF DELPHI4}IFormDesigner{$ELSE} TFormDesigner{$ENDIF}(GetParentForm(TControl(Instance)).Designe r) do {$IFDEF DELPHI3}SelectComponent(Instance){$ELSE}SelectComp onent(TComponent(Instance)){$ENDIF}; {$ENDIF} end; {$IFDEF DELPHI6} procedure TdxfRealDesigner.ItemDeleted(const ADesigner: IDesigner; AItem: TPersistent); begin end; procedure TdxfRealDesigner.ItemInserted(const ADesigner: IDesigner; AItem: TPersistent); begin end; procedure TdxfRealDesigner.ItemsModified(const ADesigner: IDesigner); begin end; procedure TdxfRealDesigner.SelectionChanged(const ADesigner: IDesigner; const ASelection: IDesignerSelections); begin FDesigner := ADesigner; end; procedure TdxfRealDesigner.DesignerOpened(const Designer: IDesigner; AResurrecting: Boolean); begin FDesigner := Designer; end; procedure TdxfRealDesigner.DesignerClosed(const Designer: IDesigner; AGoingDormant: Boolean); begin FDesigner := nil; end; {$ENDIF} Danke schon mal. Gruß Klaus |
AW: DeveloperExpress Komponenten von D5 nach D7
Gibt es .INC Dateien?
Bei neueren DevExpress steht dann so was drin (cxVer.inc):
Delphi-Quellcode:
Dann sollte es kein Problem sein...
{$IFDEF VER150} { Borland Delphi 7.0 }
{$DEFINE DELPHI4} {$DEFINE DELPHI5} {$DEFINE DELPHI6} {$DEFINE DELPHI7} {$ENDIF} Frank |
AW: DeveloperExpress Komponenten von D5 nach D7
Hallo Frank,
ja, es gibt eine INC Datei (dxFLVer.inc).
Code:
D.h. ich packe das hier dazu:
{$B-} {- Complete Boolean Evaluation }
{$R-} {- Range-Checking } {$T-} {- Typed @ operator } {$X+} {- Extended syntax } {$P+} {- Open string params } {$J+} {- Writeable structured consts } {$H+} {- Use long strings by default } {$IFNDEF VER80} {$IFNDEF VER90} {$IFNDEF VER93} {$DEFINE DELPHI3} { Delphi 3.0 or higher } {$ENDIF} {$ENDIF} {$ENDIF} {$IFDEF VER120} { Delphi 4.0 } {$DEFINE DELPHI4} {$ENDIF} {$IFDEF VER110} { Borland C++Builder 3.0 } {$DEFINE CBUILDER3} {$ObjExportAll On} {$ENDIF} {$IFDEF VER125} { Borland C++Builder 4.0 } {$DEFINE CBUILDER3} {$DEFINE DELPHI4} {$DEFINE CBUILDER4} {$ObjExportAll On} {$ENDIF} {$IFDEF VER130} { Delphi 5.0 } {$IFDEF BCB} { Borland C++Builder 5.0 } {$DEFINE CBUILDER3} {$DEFINE CBUILDER4} {$DEFINE CBUILDER5} {$ObjExportAll On} {$ENDIF} {$DEFINE DELPHI4} {$DEFINE DELPHI5} {$ENDIF} {$IFDEF VER140} { Borland Delphi 6.0 } {$DEFINE DELPHI4} {$DEFINE DELPHI5} {$DEFINE DELPHI6} {$ENDIF} {$IFDEF VER150} { Borland Delphi 7.0 } {$DEFINE DELPHI4} {$DEFINE DELPHI5} {$DEFINE DELPHI6} {$DEFINE DELPHI7} {$ENDIF} Aber wie ist das mit den Prüfungen auf Delphi 6 zu verstehen? Die greifen dann ja nur, wenn D6 installiert ist, oder? |
AW: DeveloperExpress Komponenten von D5 nach D7
Hallo,
hast du diese Datei(en)?
Code:
Dann hast du auch die Lösung (ist nur eine Leseübung)
...\JEDIVisualComponentLibraryJVCL-3.8\archive\JvTimerListForm.* (pas | dfm)
...\JEDIVisualComponentLibraryJVCL-3.8\common\JVCL.INC |
AW: DeveloperExpress Komponenten von D5 nach D7
Zitat:
|
AW: DeveloperExpress Komponenten von D5 nach D7
Da deine Quellen der Komponenten kein D5 oder größer kennt reicht hier:
Delphi-Quellcode:
{$IFDEF VER150} { Borland Delphi 7.0 }
{$DEFINE DELPHI4} {$ENDIF} |
AW: DeveloperExpress Komponenten von D5 nach D7
Zitat:
|
AW: DeveloperExpress Komponenten von D5 nach D7
Richtig, Delphi 4 - 6 musst du eintragen...
Delphi-Quellcode:
Frank
{$IFDEF VER150} { Borland Delphi 7.0 }
{$DEFINE DELPHI4} {$DEFINE DELPHI5} {$DEFINE DELPHI6} {$ENDIF} |
AW: DeveloperExpress Komponenten von D5 nach D7
Zitat:
Delphi-Quellcode:
dann wird im Code in
{$DEFINE DELPHI6}
Delphi-Quellcode:
kompiliert...
{$IFDEF DELPHI6}
// Code {$ENDIF} Oder einfacher: In der INC: Wenn Delphi - Version Delphi 7 ist, dann definiere Delphi 6 (oder höher). Im Code: Wenn Delphi 6 (oder höher) definiert ist, kompiliere diesen Code... Frank |
AW: DeveloperExpress Komponenten von D5 nach D7
Klasse, hat funktioniert. Danke für Die Hilfe.
Eins noch. Die BPL wurde im Delphi Verzeichnis erstellt. Wenn ich mir eine Komponenten nun in mein Projekt selektiere, dann versucht Delphi die PAS Datei in einem DeveloperExpress Verzeichnis zu suchen, was überhaupt nichts mit meiner Komponenten zu tun hat. Die Sources habe ich in einem eigenen Verzeichnis unter C liegen und habe dieses Verzeichnis dem Suchpfad in der Umgebung hinzugefügt. Es wird aber immer noch in dem falschen Verzeichnis gesucht. Hängt das irgendwie mit der Kompilierung der BPL Datei zusammen oder wieso findet Delphi die PAS Files nicht? Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz