Hallo!
Da muss ich mich geleich mal reinhängen.
Zitat von
Bernhard Geyer:
BPL haben gleiches Format? Wird auch nicht gehen. Und
DLL's nur wenn sie nicht mit "lebeneden" Delphi-Objekten im der Schnittstelle Arbeiten.
Ich beschäftige mich nämlich grad mit Debuggern. Hab neben Delphi auch Lazarus. Nur lassen sich deren Units nicht 1:1 nach Delphi portieren (anderer Pascal Dialekt). Da wollte ich eine Debuggerschnittstelle bauen und die passende
DLL mit Lazarus übersetzen. Heißt das das in der
Dll keine Objekte vorkommen dürfen?
Was mache ich, wenn die entscheidenden Debuggercodes in Klassen definiert sind und ich den Code per
DLL für Delphi bereitstellen will?
Mein Vater verwendet Mathcad. Dort kann er auch neue Funktionen definieren indem er
Dll-s mit dem Code einbindet. Es gibt da aber nur Beispiele in C. Da gibt es in der
DLL eine Funktion WINMAIN. Wie sorge ich in Delphi (bzw. Object Pascal) dafür, das die erzeugte
Dll binärkompatibel ist. Mach ich das, indem ich unten "Begin End" schreibe? So hier:
Delphi-Quellcode:
library Mydll;
uses
//benötigte Units
procedure DoSomething;
cdecl;
begin
end;
procedure DoSomethingElse;
cdecl;
begin
end;
// ... weitere Routinen
exports
DoSomething,
DoSomethingElse;
begin //Entspricht das hier der Funktion WinMain der in C geschriebenen DLL???
end.
-oder kommt es nur auf die Anweisung cdecl an?