Thema: Delphi Pointer geht verloren

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Pointer geht verloren

  Alt 3. Mär 2007, 18:08
Hi,

Mein Plugin ruft bei der Ausführung TApp.GetEditor.Clear auf. Das funktioniert auch. Einmal... Beim zweiten mal ist FEditor irgendwie nil o.O -> AV.

Dieser Quelltext ist jetzt aus der Anwendung selbst.

Delphi-Quellcode:
TApp = class(TInterfacedObject,IApp)
  private
     FEditor: IEditor;
  public
    constructor Create;
    function GetEditor: IEditor; stdcall;
    procedure Terminate; stdcall;
  end;

  TEditor = class(TInterfacedObject,IEditor)
  private
    FEditor: TMemo;
  public
    constructor Create(AEditor: TMemo);
    procedure Clear; stdcall;
    procedure SetContent(const Value: WideString); stdcall;
    function GetContent: WideString; stdcall;
  end;

constructor TApp.Create;
begin
  inherited Create;
  FEditor := TEditor.Create(Form1.Memo1);
end;

function TApp.GetEditor: IEditor;
begin
  Result := FEditor; // Batsch (beim 2. mal)
end;

constructor TEditor.Create(AEditor: TMemo);
begin
  inherited Create;
  FEditor := AEditor;
end;

procedure TEditor.Clear;
begin
  FEditor.Lines.Clear;
end;
Wie ist denn das zu erklären ? o.O

Ich habs doch eigentlich genauso gemacht wie jbg hier auch.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat