Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Unit dbExprPlusCustom.pas??? (https://www.delphipraxis.net/181000-unit-dbexprpluscustom-pas.html)

delphifan2004 7. Jul 2014 15:36

Datenbank: dbexpress • Version: 1.1.0 • Zugriff über: firebird

Unit dbExprPlusCustom.pas???
 
Hallo lieb Delphianer,

bin grad dabei, das Paket dbexpressplus_110_d7 zu installieren. Leider scheitert das an der nicht vorhandenen Unit dbExprPlusCustom.pas. Die ist nur als .dcu Datei beigefügt.

Aber warum brauche ich überhaupt die .pas Datei? Kann der Compiler nicht stattdessen die .dcu einbinden. Ein Kopieren dieser DCU in das Delphi \lib Verzeichnis zu den Delphi Units führt nicht zum Erfolg. Google Suche hat ergeben, das diese Unit Borland lizensierten Code enthält, weshalb die nicht als Quellcode veröffentlicht werden kann. Was hat sich Borland bloß dabei gedacht. Was nützt eine Unit die wegen Lizenz Restriktionen nicht benutzbar ist. Gibt es eine Dokumentation des Interface Teils dieser Unit? Dann könnte man deren Funktionalität nachimplementieren. Aber wie aufwendig ist das dann wieder?

Welchen Work-Around gibt es dafür?

Und warum kann ich nicht einfach die übersetzte Unit verwenden, die ja beigefügt ist.

mkinzler 7. Jul 2014 15:38

AW: Unit dbExprPlusCustom.pas???
 
Arbeitest Du mit D7?

baumina 7. Jul 2014 15:45

AW: Unit dbExprPlusCustom.pas???
 
Ergänze den Bibliotheks-Pfad um das Verzeichnis in dem die dcu's liegen.

delphifan2004 7. Jul 2014 15:47

AW: Unit dbExprPlusCustom.pas???
 
Ja! mit Delphi 7.

Ist das die richtige Version? Dachte das eigentlich, denn der Name dbexpressplus_110_d7 suggeriert mir, das ich dazu Delphi 7 brauche.

ABer warum klappt dann die Übersetzung nicht.

Gibt es denn nicht irgendwo ein Interface oder besser noch die Doku des Interfaceteils dieser Unit?

Dann könnte ich ja mal schauen ob eine Nachimplementierung in Frage kommt?

Warum hält sich der Delphi Hersteller mit dieser Unit so bedeckt? Bin echt am Verzweifeln. Was soll so eine Lizenzpolitik?

[b]Gibt es ein für DB Einsteiger besser geeignetes Komponentenset[b] zum Zugriff auf Firebird. Ich meine wirklich für Einsteiger auf diesem Gebiet. Die meisten Dokussetzen geanz schön Datenbankerfahrung voraus, so auch die Firebird Doku.

mkinzler 7. Jul 2014 15:52

AW: Unit dbExprPlusCustom.pas???
 
Zitat:

Ist das die richtige Version? Dachte das eigentlich, denn der Name dbexpressplus_110_d7 suggeriert mir, das ich dazu Delphi 7 brauche.
Aber es könnte ja sein, dass Du eine andere Version benutzt, und das würde den Fehler erklären.

Der, im Profil angegebene Version D7 Personal fehlt ja die Datenbankunterstützung.

Liegt die dcu im Bibliothekspfad?

himitsu 7. Jul 2014 16:05

AW: Unit dbExprPlusCustom.pas???
 
Eine andere Version kann auch vorliegen, wenn es sich um ein anderes Update handelt.

z.B. könnten die Binaries (z.B. DCU) zwischen 7.0 und 7.1 inkompatibel sein.
[add] Und eventuell auch an der Personality, wenn dort enthaltene Features sich unterscheiden.
DCUs sind Compilerabhängig und wen Borland/Emba bei einem Update daran rumspielt, dann kann das schon passieren.

Delphi sucht in den Suchpfaden zuerst nach der DCU und wenn die OK/kompatibel ist, dann wird sie genommen (außer es findet auch noch die PAS und erkennt dort (am Datum) daß Diese verändert wurde und somit die DCU zu alt ist.

Wenn DCU nicht gefunden, zu alt, oder nur PAS entdeckt, dann wird die PAS neu kompiliert.
Wird nichts gefunden, dann kommt die Meldung "DCU nicht gefunden" auftaucht, auch wenn "DCU und PAS nicht gefunden" gemeint wird, dann stimmen die Suchpfade absolut nicht, oder es ist wirklich nicht da.

delphifan2004 7. Jul 2014 19:12

AW: Unit dbExprPlusCustom.pas???
 
@mkinzler,@baumina,@hinitsu:

Ja, sie liegt im Suchpfad. Ich habe die .dcu-Datei die anstelle der .pas Datei im Paket mitgeliefert wird nach $(DELPHI)\lib kopiert und dieses Verzeichnis in die Liste der Suchpfade aufgenommen. D7 hat ja nur eine Eingabemöglichkeit für Suchpfad, wo zwar normalerweise die Quellcodeverzeichnisse angegeben werden, aber Suchpfad sollte ja auch ein Verzeichnis für schon übersetzte Units sein dürfen.

Im Dateinamen steht _d7. Deshalb habe ich überhaupt nicht an Delphi 7.1 gedacht. Ich hoffe immer noch auf die Intelligenz der Zusammensteller dieses Paketes. Dem Package Namen nach sollte Delphi 7.0 eigentlich die korrekte Delphiversion sein. Hoffen wir mal, das der Ersteller der dbExprPlusCustom.dcu auch Delphi 7.0 zum Übersetzen verwendet hat.

Habe außerdem noch den Button <Hinzufügen> im Packagefenster geklickt und dort die DCU Datei als Unit zum Package hinzugefügt.

Hilft alles nicht. Vielleicht doch ein Formatkonflikt. Aber wo kriege ich dann die richtige .dcu her?

Genügen würde mir auch die Dokumentation des Interface Teils dieser Unit. Vielleicht lässt sich dann ein DLL bauen, die die Funktionen passend bereit stellt. Gibt es diese Doku des Interface Teils?

Ich besitze Delphi 7.0

Die Fehlermeldung lautet:

[Fataler Fehler] Datei nicht gefunden: 'C:\Daten\All Users.WINDOWS.0\Anwendungsdaten\NexusDB\NexusDB4\L ibrary\Delphi7\Win32\dbExprPlusCustom.pas'

Hab jetzt auch extra die dbExprPlusCustom.dcu in das obige Anwendungsdaten-Verzeichnis kopiert. Die .dcu befindet sich jetzt also sowohl im /lib Ordner von Delphi, im obigen Anwendungsdaten-Verzeichnis und im dbexpress Paket.


die Suchpfadangabe in der Datei dbExprPlus_r_70.dof sieht jetzt so aus:

SearchPath=C:\Programme\Borland\Delphi7\Source\dbE xpressPlus_110_D7;C:\Programme\Borland\Delphi7\lib

im dbExpress-Ordner ist die .dcu, die ich außerdem in das \lib Verzeichnis kopiert habe.

Hilft aber alles nicht. Was kann ich noch tun?

Langsam wünsche ich mir die Interface Doku, um einen Workaround zu bauen. Oder ich lasse es drauf an kommen, baue mir eine leere .pas Unit mit dem Namen der bockigen Unit und dann sehe ich ja, welche Prozeduren, Funktionen, Methoden und Typen fehlen. Dürfte aber auch frustrierend werden, wenn das recht viele betrifft.

himitsu 7. Jul 2014 21:26

AW: Unit dbExprPlusCustom.pas???
 
Hmmm?
Zitat:

Datei nicht gefunden: 'C:\Daten\All Users.WINDOWS.0\Anwendungsdaten\NexusDB\NexusDB4\L ibrary\Delphi7\Win32\dbExprPlusCustom.pas'
Es wird an einem "festen" Verzeichnis gsucht. :shock:
Dann helfen Suchpfade natürlich nicht.

Und wenn die Datei dort nicht existiert, dann gibt es zwei Gründe

- Delphi findet die Datei wirklich nicht, da sie nicht kompatibel ist
- Delphi ist halt uralt und wird vom windows gern virtualisiert, da es sich nicht selber als Kompatibel authentifiziert ... eventuell liegt im VirtualStore ja eine andere Version der Datei

baumina 8. Jul 2014 07:41

AW: Unit dbExprPlusCustom.pas???
 
Zitat:

Zitat von delphifan2004 (Beitrag 1264767)
D7 hat ja nur eine Eingabemöglichkeit für Suchpfad, wo zwar normalerweise die Quellcodeverzeichnisse angegeben werden, aber Suchpfad sollte ja auch ein Verzeichnis für schon übersetzte Units sein dürfen.

Ich glaube schon, dass es in Delphi 7 schon Bibliothekspfade gab. Schau mal unter Tools/Optionen/Umgebungsoptionen/Bibliothek


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 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