AGB  ·  Datenschutz  ·  Impressum  







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

TList + Exception

Ein Thema von Preddy2005 · begonnen am 9. Sep 2006 · letzter Beitrag vom 9. Sep 2006
 
Preddy2005

Registriert seit: 27. Nov 2005
Ort: Mettmann
38 Beiträge
 
#1

TList + Exception

  Alt 9. Sep 2006, 22:06
Hallo erstmal! Ich hoffe mir kann jemand mit dem Problem helfen... Habe schon stundenlang gesucht und ich finde einfach keine Antwort auf meine Frage. Ebenso finde ich überhaupt kein sinnvolles Tutorial, welche einem zeigt, wie man Objekte mit einer TList oder TObjectList passend verwendet. Hoffe mir kann jemand sagen, was falsch ist... Der unten stehende Code zeigt die Klassendeklaration und die Erzeugung der Klasseninstanzen. Na ja einfach mal drüber gucken...


Delphi-Quellcode:


Kleine Testklasse :

type TBenutzer_Objekt = class(TObject)
private
 // FBenutzerStatus : Integer;
  FBenutzerNummer : Integer;
  FBenutzername : String;
  FBenutzervewaltungsliste : TList;


Methode :

public
  procedure Baue_Benutzerverwaltungs_Liste(Benutzer_Login_Namen : String);
  procedure Gebe_Speicher_Fuer_Benutzerverwaltungsliste_Frei;

end;

Methodenfunktionalität :

procedure
TBenutzer_Objekt.Baue_Benutzerverwaltungs_Liste(Benutzer_Login_Namen : String);

var Temp_Liste : TStringList; // Temporäre Stringliste
    i : Integer; // Zählvariable
    Trenner : Integer; // Die Kommatapositionen mit Pos ermitteln
    PBenutzer_Objekt : ^TBenutzer_Objekt; // Zeiger auf die Klasseninstanzvariable
    Zu_Extrahierende_String : String; // Stringlisteneintrag wird umkopiert, und dann wird aus dem String gelöscht
    Benutzername : String; // Temporäre Benutzervariable
    Benutzernummer : Integer; // Temporäre Benutzervariable

begin
 Temp_Liste := TStringList.Create; // Stringliste erzeugen
 Temp_Liste.Text := Benutzer_Login_Namen; // Inhalt in die temporäre Stringliste kopieren
 if FBenutzervewaltungsliste = nil then FBenutzervewaltungsliste := Tlist.Create;
 Zu_Extrahierende_String := Temp_Liste.Text; // Inhalt umkopieren

  for i := Temp_Liste.Count-1 downto 0 do // Stringliste durchgehen
   begin
    New(PBenutzer_Objekt); // Ein neues Listenobjekt erzeugen
    Trenner := pos(',',Zu_Extrahierende_String);
    Benutzername := Copy(Zu_Extrahierende_String,1,Trenner-1); // Benutzernamen kopieren
    delete(Zu_Extrahierende_String,1,Trenner);
    Benutzernummer := StrToInt(Copy(Zu_Extrahierende_String,1,4)); // Benutzernummer kopieren
    PBenutzer_Objekt.FBenutzername := Benutzername; // Benutzernamen zuweisen -> Hier kracht es immer... Wieso?
Werde auch nicht aus den Beiträgen hier schlau...

    PBenutzer_Objekt.FBenutzerNummer := Benutzernummer; // Benutzernummer zuweisen
    FBenutzervewaltungsliste.Add(PBenutzer_Objekt); // Listenobjekt zur Liste hinzufügen
  end;

  FreeAndNil(Temp_Liste); // Speicher freigeben
end;
Das sind die OnCreate und OnClose Aufrufe :
Delphi-Quellcode:


Im OnCreate Event steht das

   Benutzer_Objekt := TBenutzer_Objekt.Create;
   Hiermit habe ich doch die Klasseninstanz erzeugt, oder?


Im OnClose

   FreeAndNil(Benutzer_objekt);

Wollte zuerst auch ein dynamisches Array verwenden, aber die Tlist
eignet sich für den späteren Ausbau einfach mehr.

Hoffe jemand wäre bereit mir den Fehler zu erklären oder einen Forumlink oder einen Tutoriallink zu schicken.
Danke im voraus

Gruß

Matthias
  Mit Zitat antworten Zitat
 


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:05 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