AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

problem mit eigener class

Ein Thema von gangs-taas · begonnen am 24. Sep 2009 · letzter Beitrag vom 24. Sep 2009
Antwort Antwort
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#1

problem mit eigener class

  Alt 24. Sep 2009, 19:01
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:
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.
danke schon einmal
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: problem mit eigener class

  Alt 24. Sep 2009, 19:05
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:
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;
Ich habe dir zwar jetzt den Code gegeben, aber versuche bitte trotzdem zu verstehen was da jetzt gemacht wird
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: problem mit eigener class

  Alt 24. Sep 2009, 19:06
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;
Markus Kinzler
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#4

Re: problem mit eigener class

  Alt 24. Sep 2009, 19:07
Zitat von jfheins:
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:
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;
Ich habe dir zwar jetzt den Code gegeben, aber versuche bitte trotzdem zu verstehen was da jetzt gemacht wird

das versuch ich immer !
beschämt michdas du denkst ich würde das nicht machen !!

ja ist logisch ...
wusste ich nur nicht
danke
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: problem mit eigener class

  Alt 24. Sep 2009, 19:14
Zitat von gangs-taas:

das versuch ich immer !
beschämt mich das du denkst ich würde das nicht machen !!
Naja, nach dem hier, dem da, der da und sowas hier hab' ich das lieber nochmal dzugeschrieben

Zitat:
ja ist logisch ...
wusste ich nur nicht
danke
Kein Problem, dafür sind wir ja da *g*
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#6

Re: problem mit eigener class

  Alt 24. Sep 2009, 19:35
Zitat von jfheins:
Zitat von gangs-taas:

das versuch ich immer !
beschämt mich das du denkst ich würde das nicht machen !!
Naja, nach dem hier, dem da, der da und sowas hier hab' ich das lieber nochmal dzugeschrieben

Zitat:
ja ist logisch ...
wusste ich nur nicht
danke
Kein Problem, dafür sind wir ja da *g*

okayokay
sieht schon nicht gut aus für uns anfänger
naja ich versuche immer es zu verehn

danke

ps. finde ich kalsse das du sowas sagst wie
Zitat:
ja ist logisch ...
wusste ich nur nicht
danke
Kein Problem, dafür sind wir ja da *g*
hat bislang noch keiner gesagt wenn man sich bedankt hat ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz