TMemo und MySql

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
HaseCaesar
Beiträge: 27
Registriert: Mi 2. Apr 2014, 09:47

TMemo und MySql

Beitrag von HaseCaesar »

Neben dem Problem mit dem .showmadel (siehe anderer thread) habe ich ein weiteres Problem mit meinem Proggi.

Ein Feld der Datenbank meiner Filmverwaltung nennt sich info. Dieses ist unter MySql als VarChar (10000) deklariert. Dieses Feld beeinhaltet die Filmbeschreibung und ein paar andere Sachen. Ist auch meistens mit 1.500 bis 4.000 Zeichen gefüllt.

Nun bin ich in die Korrekturfunktion (FKorrigieren) gegangen, um dort Änderungen vorzunehmen. Der Inhalt des Feldes wird einem TMemo zugewiesen:

FKorrigieren.meinfo.text := qu.FieldByName('info').asstring;

Und was sehe ich? Das Memo ist gefüllt. Allerdings kann nicht der gesamte Text aufgrund der Componenten-Höhe angezeigt werden. Ein senkrechter Scrollbalken ist sichtbar. Die Größe zeigt an, daß ca. die sichbare Höhe ein weiteres mal angezeigt werden könnte (aufgrund der Textmenge) - was aber nicht stimmt. Klicke ich nun mit der Maus in das Feld verändert sich der Scrollbalken dergestalt, daß er nun ca. 1/3 der Komponentenhöhe hat. Klicke ich mit der Maus auf Pfeil runter, wird weiterer Text angezeigt. Allerdings fehlt immer noch "eine Menge". Allerdings ist der Balken bereits am unteren Rand angekommen, so daß ich nicht weiter scrollen kann. Benutze ich nun die Cursortaste Runter, um zum Textende zu scrollen, verändert sich nach und nach die Höhe des Rollbalkens, da immer weiterer Text erscheint, bis ich schließlich am Textende angekommen bin (es fehlt also kein Text). Leider konnte ich aufgrund der Probleme mit .showmodal bislang nicht testen, ob der komplette Text auch zurück in die Sql-DB übertragen wird.

Kann jemand ein derartiges Verhalten (bei sich) nachvollziehen und mir evtl. einen Tipp geben, woran es liegt, ob ich das beheben kann oder damit leben muß?

Vielen Dank im voraus für Eure Tipps.

HC

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: TMemo und MySql

Beitrag von theo »

Mit welcher Lazarus Version arbeitest du eigentlich?

HaseCaesar
Beiträge: 27
Registriert: Mi 2. Apr 2014, 09:47

Re: TMemo und MySql

Beitrag von HaseCaesar »

theo hat geschrieben:Mit welcher Lazarus Version arbeitest du eigentlich?


Lazarus 1.2.0
01.03.2014
FPC 2.6.2
SVN 44306
x_86_64 linux gtk2

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: TMemo und MySql

Beitrag von theo »

Ich kann das nicht nachvollziehen. Lazarus 1.3 r44541M FPC 2.7.1 x86_64-linux-gtk 2
Hänge bitte eine minimales Projekt an (Ohne Datenbankanbindung, nur vollständiger, kompilierbarer Quelltext inkl lfm, lpi etc.) welches das Problem isoliert aufweist.

HaseCaesar
Beiträge: 27
Registriert: Mi 2. Apr 2014, 09:47

Re: TMemo und MySql

Beitrag von HaseCaesar »

theo hat geschrieben:Ich kann das nicht nachvollziehen. Lazarus 1.3 r44541M FPC 2.7.1 x86_64-linux-gtk 2
Hänge bitte eine minimales Projekt an (Ohne Datenbankanbindung, nur vollständiger, kompilierbarer Quelltext inkl lfm, lpi etc.) welches das Problem isoliert aufweist.


Ups. Anscheinend gibt es schon eine neuere Version von Lazarus. Die werde ich mal installieren. Ich werde mal versuchen, Lazarus ins Repository zu packen, damit autom. Updates erfolgen.
Evtl. Ist das ja auch ein Compiler-Problem, welches bei 2.7.1 behoben ist.

Das ist auf alle Fälle einen Versuch wert, bevor ich alles neu baue.

In meinem vorherigen Thread ist eine "abgespeckte" Version verfügbar (jemand hat sich hier die Mühe gemacht). Allerdings OHNE Datenbank, so daß mein jetziges Problem nicht nachvollziehbar ist, sorry. Das kann ich hier auch nicht uppen, weil schon > 2.800 Einträge in der DB sind.

WO finde ich Lazarus 1.3 r44541M sowie FPC 2.7.1?

LG
HC

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: TMemo und MySql

Beitrag von theo »

Du brauchst keine Datenbank.
Wenn das Problem so entsteht:

FKorrigieren.meinfo.text := irgend_ein_text;

Dann wird nur Text zugewiesen. Bilde das nach, damit der Fehler sichtbar wird. Vielleicht erkennst du dabei auch gleich das Problem.
Ich glaube nicht, dass es diesmal an der Lazarus Version liegt.

So geht man ohnehin vor beim debuggen. Wenn du glaubst, dass das TMemo spinnt, da baue das Problem mit minimalen Abhängikeiten nach.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: TMemo und MySql

Beitrag von hde »

theo hat geschrieben:Wenn du glaubst, dass das TMemo spinnt, da baue das Problem mit minimalen Abhängikeiten nach

sonst kann man dir nicht helfen.
und generell: ehe ich etwas als Bug einsortiere habe ich mehr als dreimal hingeschaut. Und für das Anzeigen von DB-Feldern gibts auch TDBMemo
hde

HaseCaesar
Beiträge: 27
Registriert: Mi 2. Apr 2014, 09:47

Re: TMemo und MySql

Beitrag von HaseCaesar »

hde hat geschrieben:
theo hat geschrieben:Wenn du glaubst, dass das TMemo spinnt, da baue das Problem mit minimalen Abhängikeiten nach

sonst kann man dir nicht helfen.
und generell: ehe ich etwas als Bug einsortiere habe ich mehr als dreimal hingeschaut. Und für das Anzeigen von DB-Feldern gibts auch TDBMemo
hde


ich habe lediglich kundgetan, daß ich seltsame verhaltensweisen bei einem TMemo festgestellt habe. Mehr nicht. Das Wort »Bug« habe ich niemals benutzt.

Eine TDBMemo kann ich in diesem Fall aber nicht benutzen, da ich mit MySql-Datenbanken arbeite, und und TQuery nicht editierbar ist (zumindest kenne ich das weder von Delphi noch habe ich bei Lazarus derartige Funktionen entdeckt).

Ich habe ein Testproggi geschrieben und aus einer TXT-Datei mal ca. 4.000 Zeichen geladen und übertragen. War alles OK.

Also scheint dieses seltsame Verhalten ebenfalls mit meinem Projekt zu tun haben, denn .showmodal macht ebenfalls Probleme, was ich bei anderen Proggis nicht feststellen konnte.
Bin ja nun dabei, das Projekt komplett neu zu erstellen und Stück für Stück den Quellcode zu übertragen. Evtl. tauchen dann die beiden besagten Probleme nicht mehr auf. Wenn ich soweit bin, werde ich hier meine Erfahrung mitteilen.

Vorerst erst einmal danke für eure Tipps.

HC

HaseCaesar
Beiträge: 27
Registriert: Mi 2. Apr 2014, 09:47

Re: TMemo und MySql

Beitrag von HaseCaesar »

FRAGT MICH NICHT, WORAN ES LAG.

Jetzt klappt alles, wie erwartet. Auch mit dem .showmodal, daß danach die nächste Zeile abgearbeitet wird.

Ich kann mir keinen Reim drauf machen.

Danke für eure Tips. Hiermit ist der Thread erledigt.

HC

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: TMemo und MySql

Beitrag von hde »

HaseCaesar hat geschrieben:Eine TDBMemo kann ich in diesem Fall aber nicht benutzen, da ich mit MySql-Datenbanken arbeite, und und TQuery nicht editierbar ist


wer sagt denn das? ZQuery (Zeos) und TDB..fields sind für solche Zwecke gedacht,
und unter Delphi muss man bei TQuery ledigliche RequestLive auf true setzen und die Felder sind editierbar

hde

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: TMemo und MySql

Beitrag von baumina »

HaseCaesar hat geschrieben:Das Wort »Bug« habe ich niemals benutzt.


Vielleicht solltest du dann nicht unter der Rubrik Foren-Übersicht->Sonstiges->Lazarus-Bugs posten.
.

Antworten