![]() |
Visuell Basic DLL bei einer Delphi Anwendung verwenden
HI Dpler
Ich habe des Problemm des ich eine Visuell Basic programmierte DLL habe die ich bei meinen Programm ansprechen will. Versucht habe ich es schon mit:
Delphi-Quellcode:
sobald ich dann meine Exe starte beklagt sich mein prog. des es den Prozedureinsprung "Compile" nicht findet.
implementation
{$R *.dfm} function Compile(Programmzeile : String) : String; external '8051.dll'; procedure THaupt.Button1Click(Sender: TObject); begin Label1.Caption := Compile(Edit1.Text); end; Kann es sein des ich ein sdtcall (<- Keine Ahnung wie man des schreibt) brauche, wenn ja was muss ich dann im Visuell Basic hinschreiben des des funktioniert? |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Offensichtlich wird 'Compile' von der DLL nicht exportiert.
|
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Es kann sein, dass du stdcall brauchst, du wirst auch PChar anstelle von String schreiben müssen, aber ganz abgesehen davon wird die Funktion auch nicht exportiert ;)
Vielleicht Gr0ß/Kleinschreibung nicht bedacht? |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Groß klein schreibung 1000 mal kontrolliert des passt.
Aber mein Freund sagt (er hat die DLL geschrieben) des er des zwar nicht exportiert hat aber irgend etwas hin geschrieben (ich was das das etwas ungenau ist aber ich weiss auch nicht mehr) hat des bewirkt des man vollen Zugriff auf die funktion hat. Außerdem hat er gesagt des er es mit seinen VB programmen ansbrechen kann wenn er des so hinschreibt. |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Besorg dir mal
![]() Die zweite Möglichkeit wäre natürlich das diese Funktion teil eines COM-Interfaces ist. Das kannst Du Testen, indem du versuchst für diese DLL über den Delphi-Menüpunkt "Projekt/Typbibliothek importieren", Button "Hinzufügen" die evtl. in der DLL vorhandene TLB zu importieren. |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Also wenn ich des bei dem Programm richtig gesehen habe dann ist von der DLL nicht freigegeben.
Und des mit der Typbibliothek importieren klingt sehr gut (ich glaube mein Freund macht des auch so (beim VB heisst es aber anders (glaub ich :roll: ))). So mein Problemm ist jetzt nur noch des es bei D2005 kein "Projekt/Typbibliothek" importieren gibt. heisst des anders oder muss ich "Projekt/Dem Projekt hinzufügen" verwenden? und wenn ich des dann importiert habe wie kann ich dann auf die Funktion zugreifen? |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
*push*
:duck: |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Hoer auf zu pushen und setze die Empfehlungen um.
Was sagt der DependencyWalker ueber die DLL? Was wird exportiert? |
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Des hab ich ja schon geschrieben!
Zitat:
|
Re: Visuell Basic DLL bei einer Delphi Anwendung verwenden
Die alles entscheidende Frage:
ist es eine "normale" DLL oder ist es eine ActiveX-DLL ??? Eine ActiveX-DLL erkennt man daran, dass in der Schnellansicht (oder Dependency-Walker) nur folgende Exports zu sehen sind:
Code:
In .NET werden ActiveX-DLLs über "Verweis hinzufügen" in die Assembly integriert.
Export Table
Name: Convert.dll Characteristics: 00000000 Time Date Stamp: 00000000 Version: 0.00 Base: 00000001 Number of Functions: 00000004 Number of Names: 00000004 Ordinal Entry Point Name 0002 0000d654 DllCanUnloadNow 0003 0000d610 DllGetClassObject 0001 0000d5e8 DllRegisterServer 0000 0000d5a0 DllUnregisterServer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 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