![]() |
Visual Basic DLL in Delphi einbinden
Hallo zusammen,
ich habe ein großes Problem und zwar möchte ich eine erstelle DLL die in Visual Basic 6 geschrieben worden ist (kein ActiveX DLL) in delphi nutzen. Ich habe die Funktionen so implementiert: ... function rechne(n: Integer): Integer; stdcall; external 'test.dll'; ... sobald ich aber auf diese Funktion zugreife bekomme ich folgenden Fehler: Access Violation at adress 7363C26F in module "MSVBVM60.DLL' Write of address 000009c hmmm...was kann ich tun? |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Ist kein Beitrag für die Codelib... |
Re: Visual Basic DLL in Delphi einbinden
Muss es nicht so sein :gruebel:
Delphi-Quellcode:
function rechne(n: Integer): Integer; stdcall; external 'test.dll' name 'rechne';
|
Re: Visual Basic DLL in Delphi einbinden
hmm...funktioniert leider auch nicht, ich bekomme die selber Fehlermeldung
|
Re: Visual Basic DLL in Delphi einbinden
Die Imports sind Case-Sensitive! Hast du darauf geachtet?
Ist die Aufrufkonvention "stdcall" richtig? Ansonsten probiers erstmal dynamisch mit der Einbindung:
Delphi-Quellcode:
Und gehe mal mit dem Debugger durch.
var lib:hmodule;
rechne:function(n:Integer):integer; stdcall; begin lib:=loadlibrary('test.dll'); rechne:=getprocaddress(lib,'rechne'); ... freelibrary(lib); end; |
Re: Visual Basic DLL in Delphi einbinden
Hallo Dennis,
seit wann kann man in VB6 andere DLL's als ActiveX Dll's erstellen? Soweit ich weiß geht das doch garnicht? Gruß AliDi |
Re: Visual Basic DLL in Delphi einbinden
Zitat:
Er wird sie als TypeLib importieren müssen. Und er kann nur hoffen, dass sie nicht von einem VB'ler geschrieben wurde, sondern von einem Programmierer, der mit Waffengewalt zu VB gezwungen wurde... |
Re: Visual Basic DLL in Delphi einbinden
Zitat:
|
Re: Visual Basic DLL in Delphi einbinden
VB ist der letzte Scheiß *loL*
der Programmierer hat mir jetzt eine ActiveX DLL gemacht, klappt wunderbar. Nur eine Frage: Wie kann ich erkennen ob die DLL bereits registriert ist? |
Re: Visual Basic DLL in Delphi einbinden
Zitat:
Die letzte Registrierung bestimmt, welche DLL im System verankert ist (könnte ja sein, dass die DLL in versch. Pfaden liegt) Ansonsten geht das mit folgender Funktion:
Delphi-Quellcode:
Die ProgID ist z.B. "VBProjekt.Taschenrechner".
function ProgIDExists(const ProgID:WideString):Boolean;
var tmp : TGUID; begin Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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