|
Delphi 8: Debuggen von DLLs
Frage: Ich schreibe in Delphi 8 eine DLL. Diese DLL enthält ein Objekt, das mir Funktionen zur Verfügung stellt. Wenn ich jetzt die Implementierung einer Methode dieser Klasse aus der DLL debuggen möchte, wie mache ich das?
Antwort: Die folgende Schritt-für-Schritt-Beschreibung erläutert die dazu notwendigen Schritte innerhalb der Entwicklungsumgebung Borland Delphi 8:
1. Neues Windows Forms-Projekt anlegen. Aus diesem Testprogramm heraus wird die zu debuggende Assembly (DLL) aufgerufen. Das Projekt und auch die Projektgruppe sofort speichern.
2. Neues Library-Projekt in der gleichen Projektgruppe anlegen und dort eine neue Klasse (Unit) hinzufügen. Das von Delphi 8 angelegte Grundgerüst dieser Klasse wird um die eigene Methode DoWork erweitert:
unit Class1;
interface
type
TClass1 = class
private
{ Private-Deklarationen }
public
constructor Create;
function DoWork: String;
end;
implementation
constructor TClass1.Create;
begin
inherited Create;
// TODO: Hier die Konstruktorlogik einfügen
end;
function TClass1.DoWork: String;
begin
Result := 'Der Text aus der Delphi 8-Assembly';
end;
end.
3. Das Library-Projekt speichern und compilieren.
4. Zum Windows Form-Projekt wechseln und dort die Assembly-DLL des Library-Projekts über die Registerseite Projektreferenzen in die References-Liste einbinden.
5. Im Windows Form-Projekt eine Instanz der zu debuggenden Klasse aus der Assembly anfordern:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
var
aObj : Class1.TClass1;
begin
aObj := Class1.TClass1.Create;
MessageBox.Show(aObj.DoWork);
end;
6. In die Unit Class1.pas des Library-Projekt der gemeinsamen Projektgruppe einen Breakpoint setzen.
7. In der Projektgruppe die Windows Form-Anwendung aktívieren und die Windows Form-Anwendung aus Delphi 8 heraus starten. Wenn dort der Button angeklickt wird, bleibt der Delphi 8-Debugger in der Programmzeile des Library-Projekts stehen, in der sich der Breakpoint befindet.
|