Announcement

Collapse
No announcement yet.

Property >>> TStringList ;-(

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

  • Property >>> TStringList ;-(

    Hi (Delphi)ene,<BR>
    <BR>
    ich habe zur Zeit folgendes Problem...<BR>
    Ich möchte in einer egenen Komponente Daten über eine Stringlist einladen. Doch leider funktioniert das nicht wie ich es erwartet hätte. ;-(<BR>
    <BR>
    <PRE>property Daten:TStringList read FStrlDaten write SetFstrlDaten;</PRE>
    Nun hätte ich Gedacht das meine procedure SetFstrlDaten angesprungen wird wenn ich im Programm später mit "MeineK.Daten.LoadFromFile('Pfand');" Daten übergeben möchte.<br>
    Wird sie aber leider nicht...<br>
    Ich möchte in dieser Procedure, IN DER KOMPONENTE die Daten prüfen...<br>
    ;-( hat jemand einen Rat?<br><br>MfG Benny

  • #2
    Hallo Benny,<br>studiere mal folgende Quelltext
    <pre>
    unit Unit2;

    interface

    Type
    TMyComp = class(TComponent)
    private
    FStrList : TStrings;
    procedure SetStrList(const Value: TStrings);
    published
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;
    property StrList : TStrings read FStrList write SetStrList;
    end;

    implementation

    { TMyComp }

    constructor TMyComp.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    FStrList:=TStringList.Create;
    end;

    destructor TMyComp.Destroy;
    begin
    FStrList.Free;
    inherited Destroy;
    end;

    procedure TMyComp.SetStrList(const Value: TStrings);
    begin
    FStrList.Assign(Value);
    end;

    end.

    ...
    |-- Hier wird auf <b>read</b> zugegriffen
    MyComp.StrList.LoadFromFile(EineDatei);
    ...
    Tmp:=TStringList.Create;
    Tmp.LoadFromFile(EineDatei)
    MyComp.StrList:=Tmp; //hier wird SetStrList aufgerufen
    </pre&gt

    Comment


    • #3
      Hi Jens,

      der Teufel steckt im Detail... ;-D
      Ich danke Dir auf jeden Fall...

      Deine letzten 8 Zeile waren der Schlüssel zum Erfolg. ;-)

      Da währe ich nicht drauf gekommen... kannst Du mir vielleicht auch sagen warum das so ist?

      Also ich habe schon einiges gemacht also Bitmaps geladen und so weiter... also das ging ja immer mit

      MyComp.Bitmap.LoadFromFile('Bitmap.bmp');

      Nur mir ist noch nicht ganz klar warum das da so geht und bei der TStringlist ebend nicht...

      Vielen Dank und MfG Benn

      Comment


      • #4
        Hallo Benny,<br>TBitmap verhält sich genauso wie TstringList. Du kannst ja <br>MyComp.StrList.LoadFromFile(EineDatei); <br>Es wird nur nicht der Setter aufgerufe

        Comment

        Working...
        X