lazarus string truncate 189

Fórumok

Sziasztok.
VAn egy lazarusban írt program (ami jelenleg win alatt fut). Lazarus verziója 0.9.28.2 és ezt nem is akarom változtatni, mivel van pár cucc, ami csak ezalatt hajlandó menni.
Egy sqlite adatbázisból olvasok be stringeket, amik lehetnek akármiylen hosszúak. Pár órája kezdte el, hogy ezeknek a stringeknek csak az ELSŐ 189 karakterét mutatja. Bármit csinálok ennyi. Nem értem. Ansi string avagy sem, itt levágja és kész.
Annyit tudni kell, hogy dcpcrypt -et használok (ami ugye lehet valami probléma forrása, csak azt nem értem, hogy egyik pillanatról a másikra..?), de más különösebbet nem.
Valakinek valami ötlete???
A releváns kódrészlet:

  • with npl do begin
    active:=false;
    close;
    SQL:='SELECT * from naplo where kereso LIKE '+quotedstr('%'+besecure(passw,elem1)+'%');
    open;
    active:=true;
    if recordcount>0 then begin
    button3.visible:=false;
    panel2.visible:=false;
    memo1.lines.text:=kisecure(passw,fieldbyname('szoveg').asstring);
    showmessage('Szöveg hossza:'+inttostr(length( memo1.lines.text)));
  • Nem egy bonyolult, de számomra titokzatos....

    Hozzászólások

    0.9.30.4 alatt is ugyanez... Beszarás...

    Nem lehet, hogy az SQLiteban van valami elállítva? Van egy ilyen lehetőség benne: https://www.sqlite.org/limits.html#max_length
    Illetve még azt tudom elképzelni, hogy valami a karakterkódolás miatt problémázik. Mielőtt a memoba írod a kapott szöveget, próbáld utf-8 karakterkódolásra alakítani. Érdemes lenne megnézni azt is, hogy mi változott azóta a rendszeren, mióta a program hibás adatot ad vissza.

    --
    "Az ember sokszor más mint aminek látszik. De ritkán jobb..."

    Közben guglizok.
    És rájöttem a saját marhaságomra.
    Az adatbázis deklarációban az adott mező STRING típusú, miközben MEMO kellett volna. EZzel helyrejött, bár ettől még nem lettem okosabb, hogy egyszercsak miért döglött meg az addigi helyes működés után....
    Igazából nem vátozott semmi, csupán újrafordítottam egy gomb szövegének megváltozása miatt... Érdekes...