![]() |
problem mit eigener class
hey,
ich wollte mir eine eigene Klasse einrichten, damit ich leicher mit verschiedenen Variablen u.ä. arbeiten kann aber ich bekomme wenn ich darauf zugreife einen lauf-zeit fehler mit der Meldung '--------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt P_1.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 004586DB in Modul 'P_1.exe'. Schreiben von Adresse 00000004' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- ' könnt ihr mir wenn ich euch meinen code zeige sagen, wie ich das machen muss, damit es funktioniert ?! bitte :) hier ist mein code
Delphi-Quellcode:
danke schon einmal :)
type
TBuchstaben = class Buchstaben_Name : Char; Klick_stelle : integer; Anzahl_im_Text : integer; Priorität : integer; end; TForm1 = class(TForm) Eingabe: TGroupBox; Text: TMemo; Kontrollstruckturen: TGroupBox; HandyTastatur: TGroupBox; E1: TEdit; E2: TEdit; E3: TEdit; E4: TEdit; E5: TEdit; E6: TEdit; E7: TEdit; E8: TEdit; Kosten: TGroupBox; optimiere: TButton; Label1: TLabel; M_Kon_Stelle: TMemo; E_K_Alt: TEdit; Label2: TLabel; Label3: TLabel; E_K_Neu: TEdit; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } Gl_Buchstaben_array : Array[1..26] of TBuchstaben; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i : integer; const Temp_Buchstaben : Array[1..26] of Char = 'abcdefghijklmnopqrstuvwxyz'; begin Label1.Caption := 'Anzahl der' + #13#10 + 'Buchstaben'+ #13#10 +'im Text'; For i := 1 to 26 do begin Gl_Buchstaben_array[i].Buchstaben_Name := Temp_Buchstaben[i]; // hier ist der Fehler aber wieso ?! end; end; end. |
Re: problem mit eigener class
Eine Klasse ist nur ein Typ
Um eine Klasse zu benutzen muss man (allermeistens) ein Objekt dieses Typs erstellen. Das macht man, indem man den Konstruktor aufruft. Konkret hieße das:
Delphi-Quellcode:
Ich habe dir zwar jetzt den Code gegeben, aber versuche bitte trotzdem zu verstehen was da jetzt gemacht wird ;)
procedure TForm1.FormCreate(Sender: TObject);
var i : integer; const Temp_Buchstaben : Array[1..26] of Char = 'abcdefghijklmnopqrstuvwxyz'; begin Label1.Caption := 'Anzahl der' + #13#10 + 'Buchstaben'+ #13#10 +'im Text'; For i := 1 to 26 do begin Gl_Buchstaben_array[i] := TBuchstabe.Create(); end; For i := 1 to 26 do begin Gl_Buchstaben_array[i].Buchstaben_Name := Temp_Buchstaben[i]; // hier ist der Fehler aber wieso ?! end; end; |
Re: problem mit eigener class
Du musst auch die Instanzen erzeugen:
Delphi-Quellcode:
For i := 1 to 26 do
begin Gl_Buchstaben_array[i] := TBuchstaben.Create; Gl_Buchstaben_array[i].Buchstaben_Name := Temp_Buchstaben[i]; // hier ist der Fehler aber wieso ?! end; |
Re: problem mit eigener class
Zitat:
das versuch ich immer ! beschämt michdas du denkst ich würde das nicht machen !! ja ist logisch ... wusste ich nur nicht :) danke |
Re: problem mit eigener class
Zitat:
![]() ![]() ![]() ![]() Zitat:
|
Re: problem mit eigener class
Zitat:
okayokay sieht schon nicht gut aus für uns anfänger :) naja ich versuche immer es zu verehn :) danke :D ps. finde ich kalsse das du sowas sagst wie :D Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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 by Thomas Breitkreuz