ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1800
1800
EMPFEHLEN
-
Hallo,
ich habe in einem Formular TCalcEdit und TFilenameEdit und noch eniges mehr.
Wenn ich aber zB . ein TFilenameEdit aufrufe verschwinden die Eingaben in den andere Feldern wieder.
Das passiert auch, wenn ich ansetelle eines TFilenameEDit einen normaes Edit nehme und über einen Button einen Standarddateimenü aufrufe.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
procedure Tbomform.OVRCalcEditChange(Sender: TObject); begin one4calc_data.o[one4calc_data.GetDataPos('overhead')].Text := ovrCalcedit.Text; end; procedure Tbomform.picBtnClick(Sender: TObject); begin if opendialog1.execute then picturefilename.Text :=opendialog1.FileName ; end; procedure Tbomform.picturefilenameChange(Sender: TObject); begin one4calc_data.o[one4calc_data.GetDataPos('picture')].Text := picturefilename.Text ; end;
Es leeren sich auch TMemos. Ich rätsele mal wieder herum.
Vielleicht habe ich auch einen Denkfehler beim one4calc_data.o[...
...ich habe in einem unit ein statisches Array mit TStringlists als Datenspeicher.
Bei manchen Feldern in meinem Hauptprogramm nehme ich dann nur die erste Zeile.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
unit one4calc_data; {$mode objfpc}{$H+} interface uses Classes, SysUtils ; const MaxTagList = 64; const Taglist : Array [1..MaxTagList] of String = ( 'p$','s$','curse',......'); type One4CalcFile = Array[1..MaxTagList] of TStringList; var o : One4CalcFile; procedure LoadFromFile ( s : String) ; procedure WriteToFile ( s : String) ; function GetDataPos( tag : String): Integer; Es folgen die ganzen Codezeilen für die die Functionen usw. als letztes habe ich noch das Array anzulegen. var i : Integer; initialization for i := 1 to MAxTagList do o[i] := TStringList.Create; o[64].Text :='init done!'; finalization for i := 1 to MAxTagList do o[i].free; end.
In meiner Welt will ich nun aus dem aufrufenden Programmteil in meinen Feldern lesen und schreiben.
Wenn ich eine Datei geladen habe, werden mir die Felder auch in dem aufrufenden Unit angezeigt, wenn ich alles einlese.
Ändern und speichern geht auch bei den Memofeldern. Und dann kommt's zum o.g. Verschwinden.
Kann mir bitte jemand mal ein Tip geben?
Ich habe das Gefühl, daß ich mit meinen Datencontainer "o" was falsch gemacht habe. Andererseits geht's ja auch bei "normalen" Memos und der Fehler liegt woanders.
Vielen Dank.
jrx
-
Ich habe den Fehler gefunden.
Das Unit mit dem "O" habe zweimal geladen, 1. mit dem Hauptprogramm und dann 2. noch aus dem Formular.
Ich habs aus dem Hauptprogramm rausgeschmissen und siehe da, es geht.
jrx
Ähnliche Themen
-
Lazarus
Von manuel774 im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 12.01.09, 11:35 -
Lazarus und Mac OS X
Von Twinsetter im Forum Mac OSAntworten: 0Letzter Beitrag: 11.05.08, 12:43 -
Lazarus und Mac OS X
Von Twinsetter im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 27.04.08, 21:55 -
TLabel mit Delphi/Lazarus verschieben
Von DeChecka im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 28.07.07, 15:46 -
Icons für eigene Programme mit Lazarus
Von DeChecka im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 04.07.07, 20:51





Zitieren
Login




