Announcement

Collapse
No announcement yet.

Klassen Beispiele für Anfänger

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Klassen Beispiele für Anfänger

    Hallo
    Ich bin gerade dabei meine erste Klasse zu schreiben. Ich habe dazu ein paar Unterlagen gelesen und mein Begriff wirrwar einigermassen in den Griff gekriegt. Jetzt würde ich gerne anhand von konkreten Anwendungen, das ganze anwenden lernen. Hat mir jemand von sehr einfach über einfach.. Beispiele.
    frage 2: ich habe eine Klasse von TiniFile abgeleitet und will eine neue Methode 'readStrings' machen. ich will pro Schlüssel mehrere Werte zuordnen (CommaText). Aber die Funktion löst eine Exception aus.

    <PRE>
    unit UConfigFile;

    interface

    uses IniFiles,Classes;

    type
    TConfigFile = class(TIniFile)
    private
    protected
    public
    constructor create(FileName: string);
    Function ReadStrings(const Section, Ident, Default: string): TStringList; virtual;
    function Test(const Ident, Default: string): String; virtual;
    end;

    implementation

    constructor TConfigFile.create(FileName: string);
    begin
    inherited create(FileName);
    end;

    function TConfigFile.ReadStrings(const Section, Ident, Default: string): TStringList;
    begin
    result.CommaText:=ReadString(Section, Ident, Default);
    end;

    </PRE>

    Hat jemand eine Idee?

    Gruss armin

  • #2
    Hallo Armin,<p>
    Dein Fehler ist einfach. Dein Result ist nicht initializiert.<p>
    Korrekt ist:<p>
    <pre>
    result := TStringList.Create;
    result.CommaText := ReadString( Section, Ident, Default );
    </pre>
    Da Du die Stringliste als Resultwert zurückgibst, darf diese nicht zerstört werden. Den Destructor der StringListe musst Du allerdings irgendwann einmal innerhalb Deines Programms aufrufen.<p>
    Gruss Fran

    Comment

    Working...
    X