Delphi-Quellcode:
unit A;
interface
uses
unit B;
var
ppSystem:
array of ^TSystem;
res: Integer;
begin
[ppSystem wird von Hardware mit Adressen gefüllt]
//Die Adressen sollen auf die Instanzen von TSystem zeigen, hier als Beispiel nur eine Instanz
ppSystem[0]^ := TSystem.Create();
//Methode der Instanz wird aufgerufen, möchte vermeiden hier den Zeiger auf die Instanz mitzugeben
res:= ppSystem[0]^.open;
end;
Delphi-Quellcode:
unit B;
type TSystem =
class(TObject)
private
function open(): Integer;
implementation
function TSystem.open: Integer;
begin
//Hier benötige ich den Zeiger auf die Instanz
//Self ist hier wohl der falsche Ansatz.
result := System_open(self);
//self <> ppSystem[0]
end;
Ich benötige in der Instanz von TSystem einen Zeiger auf sich selbst. Ich gehe davon aus, dass self eben genau auf seine Instanz zeigt, sowie in ppSystem[0] ebenso der Zeiger auf diese Instanz enthalten ist.
Aber self ist <> ppSystem[0]. Könnt ihr mir helfen?