Habe etwas sehr Merkwürdiges in einem Programm, wenn ich es mit D XE 10 compiliere:
Formular mit einem Edit, edartikelcount.
Auf die Form gesetzt, Text ist dann edartikelcount wie man im Ojektinspektor sehen kann.
Dann komt Form.create:
Delphi-Quellcode:
procedure TdlgVerkaufsartikel.FormCreate(Sender: TObject);
begin
TranslateComponent (self);
startdate:=jvdtp.datetime;
aktdate:=startdate;
pagecontrol1.ActivePageIndex:=0;
edcountartikel.Text:='Willi';
end;
Der Text 'Willi' wird nie angezeigt; aber doch gesetzt, wie ich beim Debuggen sehen kann
Jetzt wird das Fenster aufgerufen mit showmodal:
Delphi-Quellcode:
procedure TdlgVerkaufsartikel.FormActivate(Sender: TObject);
var
tralt:tibctransaction;
begin
sortfield:='Art_Nr';
lbsuchennach.Caption:=sortfield;
screen.Cursor:=crhourglass;
startper;
//tralt:=dm.IBCQVar.Transaction;
//dm.IBCQVar.Transaction:= dm.IBCTrArtikel;
edcountartikel.Color:=clred;
openquery('select count(Art_nr) from verkaufsartikel',dm.ibcqvar);
edcountartikel.Text:='Alfred'; //inttostr(dm.IBCQVar.Fields[0].AsInteger);
...
end;
Starte ich das Programm und beobachte was passiert im Einzelschrittmodus dann wird edcountartikel.text wie erwartet von 'Willi' zu 'Alfred' geändert.
Aber angezeigt wird zur Laufzeit 'edCountArtikel' also der Text wie er im Ojektinspektor gesetzt war.
Die rote Farbe ist allerdings da.
Grosse Frage: Warum und weshalb???
Vorher habe ich mit Delphi XE gearbeitet, da war noch alles richtig (Anzahl der Artikel wurde angezeigt)
?