AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Eigene Class, fehler: "might not been initialized"
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Class, fehler: "might not been initialized"

Ein Thema von Sh4dd4r · begonnen am 3. Sep 2008 · letzter Beitrag vom 3. Sep 2008
Antwort Antwort
Sh4dd4r

Registriert seit: 29. Jul 2008
17 Beiträge
 
#1

Eigene Class, fehler: "might not been initialized"

  Alt 3. Sep 2008, 09:57
Ich programmiere noch nicht sehr lange mit Delphi, möchte jetzt aber mal ein halbwegs nützliches programm schreiben, soetwas wie einen gehirntrainer. dazu habe ich in einem *.txt dokument eine wörterliste mit einigen 1000 wörtern.

ich möchte nun 10/20/.../X zufällige Zeilen aus dieser Textdatei in ein Array speichern, zusätzlich soll dieses array aber noch abspeichern bis zur wievielten zeile es voll ist.

daher hab ich mal ne eigene class entworfen, die ein array beinhaltet und eine integer zahl abspeichern kann für die "füllhöhe" des arrays.

Delphi-Quellcode:
type
 wordlist = class
  private
   NumberOfWords: integer;
   word: array[1..100] of string;
end;
immer wenn ich aber eine variable vom typ dieser class verwende kommt das:

Zitat:
[Warning] Unit1.pas(68): Variable 'WList1' might not have been initialized
Ich muss die Variable initialisieren. ich habe nur keine ahnung wie das bei der geht. bei integer und string ist mir das klar, aber wenn ein array und eine integer drin ist, wie macht man das dann?

was ich nicht so gerne machen würde ist einfach ein normales array und dann abfragen wie voll es ist (also wann das erste leere fach kommt...), meine class soll noch etwas mehr können später...

ich hoffe es kann mir jemand helfen, bitte nicht mit zu vielen fachausdrücken erklären, ich bin noch nicht so arg gut mit delphi vertraut.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 09:59
Legst Du denn auch eine Instanz der Klasse an, bevor Du darauf zugreifst (also ein Aufruf der Art Klasse := TKlasse.Create; )?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Sh4dd4r

Registriert seit: 29. Jul 2008
17 Beiträge
 
#3

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 11:41
oh mist... nätürlich... wo muss ich das machen und wo muss ich sie wieder freeen?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 12:01
Na, bevor du sie das erste mal benutzt und nachdem du sie das letzte mal benutzt.
Als erster Vorschlag (ohne den Code zu kennen) würde ich sagen im FormCreate und im FormDestroy


Dann würde ich dir noch einen Tip des dynamischen Arrays:
x: array of string und weil das auch noch nicht so toll ist, eine List:
Delphi-Referenz durchsuchenTStringList
empfehlen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Sh4dd4r

Registriert seit: 29. Jul 2008
17 Beiträge
 
#5

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 14:29
hab die class jetzt in on show created, ich muss aber die variable noch irgendwo deklarieren und sie muss private sein. wo mach ich das am besten? im private teil ist zu früh, da ist die class noch nicht definiert
und wenn ichs in on show mache ist sie nicht private...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 14:33
OnShow hat doch mit private nichts zu tun.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Sh4dd4r

Registriert seit: 29. Jul 2008
17 Beiträge
 
#7

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 14:34
ja, aber andere prozeduren wollen ja auf die variable zugreifen, ich muss sie aber vor on show deklarieren...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 14:45
Schreib die Variable in den private-Abschnitt, instanziiere sie OnCreate und gib sie OnClose wieder frei.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Sh4dd4r

Registriert seit: 29. Jul 2008
17 Beiträge
 
#9

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 16:51
dann muss ich die klassendeklaration vor private schreiben.... wie mach ich das?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Eigene Class, fehler: "might not been initialized&a

  Alt 3. Sep 2008, 17:09
Schreib die komplette Klassendeklaration vor die des Formulars.
Delphi-Quellcode:
type TMyclass = class
  ...
end;

TMyForm = class(TForm)
private
  MyClass: TMyClass;
  ...
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 15:34 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