Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Klassenproblem mit Create (Zugriffsverletzung) (https://www.delphipraxis.net/37838-klassenproblem-mit-create-zugriffsverletzung.html)

hitzi 11. Jan 2005 09:01


Klassenproblem mit Create (Zugriffsverletzung)
 
Hallo,

irgendwie steh auf dem Schlauch ...

folgender Code verursacht eine Zugriffsverletzung.

Delphi-Quellcode:
unit uExplorer;

interface

uses
  Classes, Windows, ComCtrls;

  type
  TExplorerView = class
  private
    intTest : integer;
  public
    constructor Create(JustATest : integer);
    destructor Free();
  end;

implementation

constructor TExplorerView.Create(JustATest : integer);
begin
  inherited Create;
  intTest := JustATest; //ZUGRIFFSVERLETZUNG
end;

destructor TExplorerView.Free();
begin
  inherited Free;
end;

end.
Aufgerufen wird so:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, uExplorer;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    fExplorer : TExplorerView;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  fExplorer.Create(2);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeAndNil(fExplorer);
end;

end.
Irgendwo hab ich was übersehen, aber ich seh im Moment "den Wald vor lauter Bäumen nicht mehr" :(

Gruss

Luckie 11. Jan 2005 09:12

Re: Klassenproblem mit Create (Zugriffsverletzung)
 
Delphi-Quellcode:
var
  fE: TExplorerView;

procedure TForm1.FormCreate(Sender: TObject);
begin
  fE := TExplorerView.Create(2);
end;
Du musst auch erst mal eine Instanz bilden. Nur so eine Methode der Klasse aufrufen, ohne vorher eine Instanz angelegt zu haben, kann ja nur schief gehen.

hitzi 11. Jan 2005 09:15

Re: Klassenproblem mit Create (Zugriffsverletzung)
 
:roll:

Ich wusste doch, dass es was ganz simples sein muss. Hab die ganze Zeit in der Klasse gesucht, aber dass ich mir mal den Code zum Aufrufen ansehe, darauf bin ich nicht gekommen. Ich brauch unbedingt mal wieder Urlaub. :stupid:

Danke Luckie


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz