![]() |
Delphi-Version: 10.2 Tokyo
Zugriffsverletzung bei Adresse
Servus.
Erstmals bitte ich um Entschuldigung, falsch ich das Thema falsch reingestellt habe. Ich schaue mir Delphi an und habe eine Klasse erstellt.
Code:
Wenn ich die Klasse in SDIMAIN aufrufen möchte, bekomme ich eine "Zugriffsverletzung bei Adresse"-Fehler.
unit Unit1;
interface type TUser = class private fName: string; procedure SetName(aName: string); function GetName(): string; public property Name: string read GetName write SetName; end; implementation procedure TUser.SetName(aName: string); begin fName:=aName; end; function TUser.GetName(): string; begin GetName:=fName; end; end.
Code:
Also ich habe eine Klasse in Unit1 und möchte das in der SDIMAIN aufrufen.
uses ..., Unit1
... var SDIAppForm: TSDIAppForm; User: TUser; implementation uses About; {$R *.dfm} ... procedure TSDIAppForm.Button1Click(Sender: TObject); begin User.Name:=Edit2.Text; //<-Fehler passiert bereits hier :-( //ShowMessage(User.Name); end; Was mache ich falsch? mfg |
AW: Zugriffsverletzung bei Adresse
Eventuell erst nal mit Create ein Objekt der Klasse erstellen?
|
AW: Zugriffsverletzung bei Adresse
Wunderbar! Danke jetzt funktioniert es.
Ich erlag dem Irrtum das ich es bereits im var-Bereich mit User: TUser; erledigt habe.
Code:
Ich habe das jetzt so gemacht und es funktioniert endlich.
procedure TSDIAppForm.FormCreate(Sender: TObject);
begin User:=TUser.Create; end; Vielen Dank! |
AW: Zugriffsverletzung bei Adresse
Nur die Controls die du in der IDE per Drag&Drop auf das Formular legst werden automatisch erzeugt.
Alles andere das du in deinem Formular als Member-Variable anlegst musst du selbste erzeugen und i.d.R. auch wieder freigeben. |
AW: Zugriffsverletzung bei Adresse
Zitat:
|
AW: Zugriffsverletzung bei Adresse
Danke für die Antworten. Ich werde diese Beherzigen :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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