Wenn ich die Bulk-Konstante auf 1000000 erhöhe, kann ich hier ca. 7000 Zeilen einfügen, aber nicht mehr. Bringt also auch nichts.
Die Alternative, das TMemo mit ControlType "Plattform" zu nutzen, hilft zwar für das Einfügen des Textes, das funktioniert dann.
Leider bringt das andere Probleme mit sich. Ich verwende hier einen dynamisch erzeugten Dialog, der in mehreren TabItems (dort in einer Scrollbox) verschiedene TEdits oder TMemos ablegt.
Mit Controltype "Styeld" werden die TMemos alle bei Anzeige des Formulars nur angezeigt, wenn das entsprechende TabItem aufgerufen wird, siehe Screenshot1.
so erzeuge ich das TMemo und füge es in die Scrollbox ein:
Delphi-Quellcode:
{$Region 'Memo'}
if GetFieldStr (#3, Field, 1) = 'Memo' then begin
with TMemo.Create(sbox) do begin
//ControlType := TControlType.Platform;
Parent := sbox;
Position.y := StrToInt (GetFieldStr (#3, Field, 3));
Position.x := StrToInt (GetFieldStr (#3, Field, 4));
Width := StrToInt (GetFieldStr (#3, Field, 5));
Height := StrToInt (GetFieldStr (#3, Field, 6));
Textsettings.WordWrap := True;
Hint := csvField.Feldname;
ShowHint := True;
end;
end;
{$EndRegion}
Aktiviere ich aaber ControlType = Platform, sieht das Formular beim Aufruf wie in Screenshot2 aus.
Die Memos liegen also alle übereinander in der Form. Witzigerweise: Wenn man einmal durch alle Tabs durchklickt, dann werden die Memos anscheinend mit ihrem richtigen Parent verbunden (oder der Sichtbarkeitsstatus richtig gesetzt) und dann stimmt wieder alles...
Es ist zum heulen...