Podmenu nie tworzę dynamicznie, ale pojawił się jeden problem, którego opiszę jutro rano. Chodzi o warunek if then else, który ma zawierać ową nazwę podmenu i speedbutton, który z widoku dla zwykłego programisty Delphi jest on na Enabled:=false; A tak naprawdę do tego przyczynia się procedura:
rocedure TForm1.WebBrowser1CommandStateChange(Sender: TObject;
Command: Integer; Enable: WordBool);
begin
case Command of
CSC_NAVIGATEBACK: SpeedButton5.Enabled := Enable;
CSC_NAVIGATEFORWARD: SpeedButton6.Enabled := Enable;
CSC_UPDATECOMMANDS: SpeedButton3.Enabled := Enable;
end;
end;
Procedura ta sprawia blokowanie klawiszy WSTECZ lub PRZÓD w mojej przeglądarce opartej na Webbrowserze. Blokada ta wygląda tak jakby speedbutton5 i 6 były wyłączone (enabled:=false;), zatem napisałem warunek taki.
if wyłączony przycisk WSTECZ then wyłącz submenu Druzyny1 else włącz Druzyny1; Tak samo zrobiłem z przyciskiem PRZÓD.
Okazało się, że tak nie może być warunek napisany i nie działa.
W warunku musi być zawarty kod którego wyżej napisałem, czyli:
if CSC_NAVIGATEBACK: SpeedButton5.Enabled := Enable
then wstecz1.Enabled:=false else wstecz1.Enabled:=true;
No, ale taki warunek też jest zły i się nie kompiluje dając błąd:
[Error] Unit1.pas(614): Type of expression must be BOOLEAN
Jak taki warunek napisać?