Hier Code:Komponente, die zur Laufzeit in Delphi 2K9 deaktiviert und aktiviert wird. Sonderbares Problem
procedure DisableContrlOL(const cArray : array of string; ReEnable : boolean = False);
// can be called from VKP/RAW/Generation clicks
var
AComponent: TComponent;
CompListDis, CompListEna : TStringList;
begin
CompListDis := TStringList.Create;
CompListEna := TStringList.Create;
for i := Low(cArray) to High(cArray) do begin
AComponent := FindComponent(cArray[i]);
if Assigned(AComponent) then
if (AComponent is TControl) then begin
if TControl(AComponent).Enabled then
CompListEna.Add(TControl(AComponent).Name)
else
CompListDis.Add(TControl(AComponent).Name);
ShowMessage(TControl(AComponent).Name);
if ReEnable then begin // if reenabling needed, then all whi
if not TControl(AComponent).Enabled then
TControl(AComponent).Enabled := True;
end else if (TControl(AComponent).Enabled) then
TControl(AComponent).Enabled := False;
end;
end;
end;
Ich denke nicht mehr Erklärungen benötigt. Die ShowMessage zeigt korrekt den Namen jeder Komponente an, aber in StringLists wird nichts hinzugefügt. Warum?
UPDATE: Als Frage ist ziemlich wild gegangen, ich habe Antwort bestätigt, die mir ein bisschen geholfen hat.
Ich verstehe, dass ich Dinge ziemlich unklar geschrieben habe, aber ich bin sehr begrenzt, weil diese Codezeilen Teil des kommerziellen Projekts sind, und mein Hobby und Herzsache. Das Hauptproblem wurde bereits vor 6 Stunden gefunden, aber Rob wollte nur diese ganze Frage ausweiten: D Nein, nichts für ungut, Kumpel, es ist OK. Ich freue mich, so willige und hilfreiche Beiträge zu erhalten. Danke noch einmal.
Ich denke, dein Problem könnte mit 'Runetime' zu tun haben. Vielleicht, wenn du dich auf weniger mystische Ereignisse beschränkte, könnte es funktionieren. :-) – robsoft
@robsoft: Es wurde behoben. –
HX: Sie haben noch immer ** ANY ** der Antworten nicht abgestimmt. Ich werde etwas Upvoting machen, habe mich aber zurückgehalten, weil ich es offen sagen will, dass du es nicht getan hast. Verstehst du, warum die Leute, die deine Fragen beantworten, dies als unhöflich betrachten? Weißt du, wie man abstimmt? – Argalatyr