AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Visual Basic DLL in Delphi einbinden

Ein Thema von dtrace · begonnen am 21. Nov 2007 · letzter Beitrag vom 22. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
dtrace

Registriert seit: 7. Jan 2003
Ort: Gevelsberg
94 Beiträge
 
Delphi 2006 Enterprise
 
#1

Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 17:04
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?
Dennis van der Vlugt
  Mit Zitat antworten Zitat
21. Nov 2007, 17:06
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...
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 17:58
Muss es nicht so sein
function rechne(n: Integer): Integer; stdcall; external 'test.dllname 'rechne';
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
dtrace

Registriert seit: 7. Jan 2003
Ort: Gevelsberg
94 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 18:02
hmm...funktioniert leider auch nicht, ich bekomme die selber Fehlermeldung
Dennis van der Vlugt
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 18:24
Die Imports sind Case-Sensitive! Hast du darauf geachtet?
Ist die Aufrufkonvention "stdcall" richtig?

Ansonsten probiers erstmal dynamisch mit der Einbindung:
Delphi-Quellcode:
var lib:hmodule;
    rechne:function(n:Integer):integer; stdcall;
begin
  lib:=loadlibrary('test.dll');
  rechne:=getprocaddress(lib,'rechne');
  ...
  freelibrary(lib);
end;
Und gehe mal mit dem Debugger durch.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
AliDi

Registriert seit: 3. Jul 2005
Ort: Köln
23 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 19:52
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
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 20:33
Zitat von AliDi:
seit wann kann man in VB6 andere DLL's als ActiveX Dll's erstellen?
Soweit ich weiß geht das doch garnicht?
Geht auch nicht.

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...
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Visual Basic DLL in Delphi einbinden

  Alt 21. Nov 2007, 21:10
Zitat von Elvis:
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...
Diese dezenten "Hinweise".....
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
dtrace

Registriert seit: 7. Jan 2003
Ort: Gevelsberg
94 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Visual Basic DLL in Delphi einbinden

  Alt 22. Nov 2007, 16:13
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?
Dennis van der Vlugt
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Visual Basic DLL in Delphi einbinden

  Alt 22. Nov 2007, 17:25
Zitat von dtrace:
Nur eine Frage: Wie kann ich erkennen ob die DLL bereits registriert ist?
Das ist eigentlich nicht nötig.
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:
function ProgIDExists(const ProgID:WideString):Boolean;
var
   tmp : TGUID;
begin
   Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;
Die ProgID ist z.B. "VBProjekt.Taschenrechner".
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 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