Blad przypisania tekstu do TStrings

0

Witam
Posiadam sobie obiekt TMemo ktory operuje TStrings. Memo.Lines
Zalozylem sobie zmienna IOLines : TStrings;
I zaczely sie problemy z operacja na tej nowo utworzonej zmiennej.
Kiedy chcialem przypisac tekst IOLines.Add(' TEXT ') dostalem blac Unit 'FileCtrl' is specific to a platform.
A kiedy przypisywalem IOLines := Memo.Lines nie zostalo nic przypisane

Podobnie z TStringList
W czym moze byc problem ?

0

zamień na IOLines:TStringList;
IOLines:=TStringList.Create();
...

0

Przypisanie IOLines := Memo1.Lines dalej nie dziala, zmienna jest pusta

IOLines:=TStrings.Create()
IOLines:=Memo1.Lines;

Dodatkowo jezeli nie dodam IOLines : TStrings; nie moge operowac na zmiennej ktorej nie ma.

0

Nie używaj TStrings.

IOLines := TStringList.Create();
IOLines.Assign(Memo1.Lines);
0

Źle to robisz; Możesz wykorzystać typ TStrings, ale przy tworzeniu obiektu trzeba wykorzystać konstruktor z klasy TStringList:

var
  IOLines: TStrings;
begin
  {...}
  IOLines := TStringList.Create();

A co do przepisania linii z kontrolki - wykorzystaj metodę Assign:

IOLines.Assign(Memo1.Lines);

i będzie wszystko działać.


chkam napisał(a)

Kiedy chcialem przypisac tekst IOLines.Add(' TEXT ') dostalem blac Unit 'FileCtrl' is specific to a platform.

To nie jest błąd, tylko ostrzeżenie; [Warning] XXX.pas(X): Unit 'FileCtrl' is specific to a platform oznacza, że ten moduł jest specyficzny dla platformy Windows; Program pomimo tego ostrzeżenia się normalnie skompiluje i jeśli nic nie zmaściłeś w kodzie to powinien działać poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1