Einzelnen Beitrag anzeigen

Steffen

Registriert seit: 19. Mär 2003
Ort: Hamburg
111 Beiträge
 
Delphi 7 Enterprise
 
#1

Datenmodul Zugriffsproblem

  Alt 2. Jan 2004, 00:32
Hallo!

Ich habe folgenden Code:

Delphi-Quellcode:
unit uMailConnectionDataModule;

interface

uses
  SysUtils, Classes, IdSMTPServer, IdSMTP, IdTCPServer, IdPOP3Server,
  IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdPOP3,
  IdBaseComponent, IdMessage, Sockets, IdThreadMgr, IdThreadMgrDefault;

type
  TMailConnectionDataModule = class(TDataModule)
    POP3Client: TIdTCPClient;
    POP3Server: TIdTCPServer;

  private
    { Private-Deklarationen }
    ...
  public
    { Public-Deklarationen }

    function POP3ServerIsRunning : Boolean;
    ...
    procedure POP3ServerStop;
     ...
  end;

var
  MailConnectionDataModule: TMailConnectionDataModule;

implementation

function TMailConnectionDataModule.POP3ServerIsRunning : Boolean;
begin
  Result := POP3Server.Active
end;

procedure TMailConnectionDataModule.POP3ServerStop;
begin
  POP3Server.Active := False
end;

end.
Beim Aufruf von "POP3ServerStop" oder von "POP3ServerIsRunning" bekomme ich eine Speicherzugriffsverletzung...
Aber das hier funktioniert:

Delphi-Quellcode:
...
function TMailConnectionDataModule.POP3ServerIsRunning : Boolean;
begin
  Result := MailConnectionDataModule.POP3Server.Active
end;

procedure TMailConnectionDataModule.POP3ServerStop;
begin
  MailConnectionDataModule.POP3Server.Active := False
end;
...
Wenn ich nicht die Variable voranstelle (wie im 1ten Code-Ausschnitt) bekomme ich eine Speicherzugriffsverletzung beim Aufrufen einer der Methoden... was mache ich falsch? Normalerweise sollte der Code aus dem 1ten Beispiel doch auch funktionieren, oder!?

Gruß,
Steffen
  Mit Zitat antworten Zitat