Zitat von
DeddyH:
Auf den ersten Blick kann ich nichts Auffälliges entdecken, da steckt vielleicht der Fehler im Detail
Wie meinst du das?
Falls es was hilft - hier die Procedure wo es abgefragt wird:
Delphi-Quellcode:
function State_erzeugen(State_ID: String; Anzahl_Horz_Buttons, max_Horz_Buttons,
Seite: Integer): TStateInfos;
var
i : Integer;
begin
//Rückgabewerte vordefinieren
Result.Previous_State_ID := '';
Result.Mask_ID := '';
try
for i := 0 to Pred(MaskForm.Liste_State.Count) do
begin
//ausgewähltes States in der Liste suchen
If TStateClass(MaskForm.Liste_State.Items[i]).Name = State_ID then
begin
with TStateClass(MaskForm.Liste_State.Items[i]) do
begin
// s_calc := Calc;
//Horizontale Buttons erzeugen
HButton_aufbauen(Horz_Buttons, Anzahl_Horz_Buttons,Seite, 0, Mask);
//Vertikale Buttons erzeugen
VButton_aufbauen(Vert_Buttons, Section);
//Previous-Button disablen
MaskForm.Button_Previous.Visible := false;
If Pos(New_State, Previous) = 1 then
begin
//Previous-Button einblenden, wenn Previous-State angegeben ist
MaskForm.Button_Previous.Visible := Previous <> '';
//Privious-State zurückgeben (als Result)
Result.Previous_State_ID := Previous;
end;
//Maske anzeigen (als Result)
If Pos(New_Mask, Mask) = 1 then
Result.Mask_ID := Mask;
end;
end;
end;
finally
//
end;
end;
Die Definition von "HButton_aufbauen" und "VButton_aufbauen" schaut so aus:
Delphi-Quellcode:
procedure HButton_aufbauen(HButtonListe: array of TStateHButton;
Anzahl_Horz_Buttons, max_Horz_Buttons, Seite: Integer; Mask_ID: String);
procedure VButton_aufbauen(VButtonListe: array of TStateVButton;
aktive_Section: Integer);
[Edit]
Ich hab jetzt einen Fehler gefunden, bei Active muss es so heissen:
Active := StrToBoolDef(ListeButton.Values['Active'], false);
anstatt
Active := StrToBoolDef(ListeButton.Values['Font'], false);
Jetzt funktioniert das Active
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<