![]() |
BDS 2006 Delphi-DLL-Problem
Hallo zusammen,
Hat scho mal jemand mit BDS 2006 eine Delphi-DLL geschrieben ? Ich habe den allseits beliebten DLL-Experten aufgerufen (Doppelklick in der Tool-Palette). Der hat dann folgenden Code produziert, der sich unter Delphi 7 problemlos übersetzen läßt:
Delphi-Quellcode:
In meinem BDS 2006 bekomme ich die Fehlermeldung, ohne dass ich eine einzige Zeile programmiert hab:
library GDSCEdit;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt- Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String- Informationen als PChar- oder ShortString-Parameter übergeben. } uses SysUtils, Classes; {$R *.res} begin end. F2092 Das Programm oder die Unit 'Variants' ruft sich selbst wieder auf ????? :wiejetzt: [edit=sakura] [delphi]-Tags. Mfg, sakura[/edit] |
Re: BDS 2006 Delphi-DLL-Problem
Kann ich nicht nachvollziehen
Delphi-Quellcode:
geht fehlerfrei! sollte der Fehler nur in der Code-Insight Fehlerdingens angezeigt werden, dann versuchs einfach trotzdem. Das haut nämlich nicht immer so ganz hin ;) Kommt der Fehler vom compiler, ist das was anderes :stupid:
library Project1;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt- Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String- Informationen als PChar- oder ShortString-Parameter übergeben. } uses SysUtils, Classes; {$R *.res} begin end. Und du bist dir sicher dass der Fehler zu dem code gehört? ![]() |
Re: BDS 2006 Delphi-DLL-Problem
Ich habe auch keine Probleme mit dem Code bzw. einer neuen DLL.
...:cat:... |
Re: BDS 2006 Delphi-DLL-Problem
Hallo Leute,
danke für die schnelle Antwort. Ich habe das BDS neu gestartet, in der Tool-Palette unter Delphi-Projekte auf den zweiten Button doppel-geklickt, was den Code erstellt. Blöderweise kann ich das Ergebnis nicht sofort übersetzen, weil BDS ins neue Projekt die Suchpfade nicht einträgt. Sind die von Hand nach getragen, und das Projekt unter einem beliebigen Namen gespeichert kommt es bei der Übersetzung zu der Fehlermeldung, und zwar vom Compiler ! [Pascal Fataler Fehler] Variants.pas(1035): F2092 ... |
Re: BDS 2006 Delphi-DLL-Problem
Zitat:
|
Re: BDS 2006 Delphi-DLL-Problem
Äh sorry, hab mich unklar ausgedrückt. Ich meinte Compilieren bzw. Projekt erstellen ...
Warum BDS die Pfade nicht eingetragen hat ist mir inzwischen klar - Die Standardeinstellungen für Projekte waren nicht richtig konfiguriert. :wall: Nur mit dem Compilieren klappt es immer noch nicht. Wenn ich dasselbe mit der C++ Personality in BDS mache dann compiliert der Code problemlos. :| |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:07 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-2025 by Thomas Breitkreuz