![]() |
Unterschiede, ob eigene Klasse global deklariert wurde?
Hallo
Ich habe mir diese Klasse angelegt:
Delphi-Quellcode:
(Hat noch keine Lösch-Methode, aber das Problem gehe ich später an. )
CStunde = class(Tobject)
public Panel: TPanel; list: array[1..4] of TLabel; procedure Create(t,l,h,w: integer; form: TForm); end;
Delphi-Quellcode:
Wenn ich das Create mit
Procedure CStunde.create(t,l,h,w: integer; Form: TForm);
var i: byte; begin Panel := TPanel.Create(nil); with Panel do begin Parent:= Form; Top:= t; ... color:=clred; end; for i:=1 to 4 do begin list[i]:= TLabel.create(nil); list[i].Parent:= Panel; list[i].left:= 10; end; end;
Delphi-Quellcode:
aufrufe wird das Panel mit den Labels schön angezeigt, wenn ich das Formular schließe bekomme ich eine AV, was wahrscheinlich am fehlenden destroy oder free liegt, aber dass ist nicht mein primäres Problem.
procedure TForm1.Button1Click(Sender: TObject);
var sp: CStunde; begin sp.Create(50,50,200,250,Form1); end; Wenn ich es aber als
Delphi-Quellcode:
global anlege bekomme ich beim create dann eine AV.
var
Form1: TForm; sp: CStunde; Weiss jemand, warum dass so ist und wie ich es trotzdem global anlegen kann? Nikolas |
Re: Unterschiede, ob eigene Klasse global deklariert wurde?
Hallo,
vielleicht, weil Du Deine Klasse nicht instanziierst? Gruß xaromz |
Re: Unterschiede, ob eigene Klasse global deklariert wurde?
Delphi-Quellcode:
sp := CStunde.Create(50,50,200,250,Form1);
|
Re: Unterschiede, ob eigene Klasse global deklariert wurde?
Stimmt, klingt einleuchtend. Und eigentlich weiss ich das auch. (Siehe Create-implementation)
Wenn ich das jetzt aber so mache bekomme ich unabhängig von der Art der Deklaration von sp ein freundliches: Zitat:
Danke für die Antworten bis jetzt. :thumb: |
Re: Unterschiede, ob eigene Klasse global deklariert wurde?
Nein, erst wenn er einen Constructor erstellt, also:
Delphi-Quellcode:
Bye Christian
Type
CStunde = class(Tobject) Public Panel: TPanel; list: array[1..4] of TLabel; Constructor Create(t,l,h,w: integer; form: TForm); End; {...} |
Re: Unterschiede, ob eigene Klasse global deklariert wurde?
Stimmt, haben wir wohl Alle übersehen.
|
Re: Unterschiede, ob eigene Klasse global deklariert wurde?
Dankeschön. Ich habe anscheined zu lange nichts richtiges mehr programmiert. :mrgreen:
Danke an alle, die mir weitergeholfen haben. Ich liebe dieses Forum :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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