przypisanie tekstu z bazy mysql, do (((TStrings) w rekordzie) w tablicy)

0

Witam,
mam taką zmienną

DscAdresyList: array of packed record id:integer; wlasciciel:integer; glowny:boolean; tekst:TStrings; end;

wielkość tablicy ustawiona itp, błąd jest w tym momencie:

DscAdresyList[lista].tekst.SetText(Result.FieldValueByName('tekst'));
// ale próbowałem też
DscAdresyList[lista].tekst.Text:=Result.FieldValueByName('tekst');

Acces Violation itp
Result to zmienna typu TMySQLResult (używam directSQL do łączenia z bazą), a Result.FieldValueByName zwraca wynik w postaci PAnsiChar. Naczytałem się sporo o wskaźnikach ale mi to nie pomogło, zresztą to chyba nie o to chodzi bo ta linia działa, ładnie się w ListView pokazuje tekst

item.SubItems.Add(Result.FieldValueByName('tekst'));

a mi już brak pomysłów i od wczoraj lecę metodą prób i błędów...

pozdrawiam
Paweł Lis

0

A dodajesz jedno dodatkowe pole podczas ustawiania rozmiaru ?
Np.Jeżeli chcesz mieć tablicę 10x10, to ustawiasz:
SetLenGth(Tablica, 11, 11); // 11 pola nie można ruszyć !

0

tak, dodaję. zresztą pozostałe pola dają się przypisać jak trzeba, tylko z tym TStringiem jest problem. Jak zamienię go na String to wsio działa, ale potrzebuję więcej niż 1 linię tekstu i dłuższy niż 255 znaków...

1

A tworzysz TStrings ?
Tekst := TStringList.Create;

0

hmm... teraz już tak. Dzięki.

a to znaczy że będę go jeszcze musiał ręcznie usunąć? (rozum wie że tak ale serce ma nadzieję...)

0

Ja rzadko korzystam z TStringList, dlatego, jeżeli w ogóle ich używam, to i tak ich nie usuwam z pamięci ;-)
Ale dla bezpieczeństwa, lepiej usunąć.

0
Patryk27 napisał(a)

Ja rzadko korzystam z TStringList, dlatego, jeżeli w ogóle ich używam, to i tak ich nie usuwam z pamięci ;-)

nic tylko pogratulować geniuszu i rozumowania...

0

Misiekd, program będzie tworzył po kilka TStrings'ów dla każdego rekordu w bazie, oczywiście nie wszystkim na raz ale wybranemu. Tyle że te wybrane zmieniają się bardzo szybko, a serwer niedługo przerodzi się w serwerownię... tych parę GB + największy możliwy plik wymiany może nie wystarczyć ;)
Zawsze można tak zrobić że jak ram się prawie zapcha to program wymusi restart komputera... Przynajmniej windows z aktualizacjami będzie na bieżąco ;)

0
l153k napisał(a)

Misiekd, program będzie tworzył po kilka TStrings'ów dla każdego rekordu w bazie, oczywiście nie wszystkim na raz ale wybranemu. Tyle że te wybrane zmieniają się bardzo szybko, a serwer niedługo przerodzi się w serwerownię... tych parę GB + największy możliwy plik wymiany może nie wystarczyć ;)
Zawsze można tak zrobić że jak ram się prawie zapcha to program wymusi restart komputera... Przynajmniej windows z aktualizacjami będzie na bieżąco ;)

ty tak na poważnie???? Bo jeśli tak to jedyne co mi pozostaje to złożyć kondolencję ludziom, którzy będą z twoim softem musieli się męczyć...

0

Ktoś tu się na żartach nie zna... ;)

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