Hi Rudi,
Am 23. Apr 2005 um 16:07 Uhr schrieb Rudi Maier:
am 23.04.2005 15:49 Uhr schrieb Claudius Sailer unter
Claudius at sailer-online dot de:
Hi Rudi,
Am 23. Apr 2005 um 14:46 Uhr schrieb Rudi Maier:
Nun habe ich noch ein Problem. Ich will aus einer Metode heraus einen
Menüaufruf machen.
Du machst eine Methode in der auszuführende Code steht. Diese Methode
rufst Du aus dem MenüEvent auf und aus allen anderen Methoden.
Wie stelle ich sicher, dass der Code nicht ausgeführt werden kann,
wenn das
Menü belegt d.h. ein Menüpukt ausgewählt ist z.B. Dialog offen?
Aus dem Menu Menü kannst Du aufrufe verhindern, wenn Du im App - Events
EnableMenuItems das definierst. Bei mir sieht das z.B. so aus. I einer
Methode musst Du selber Abfragen einfügen um zu prüfen ob das
ausgeführt werden darf.
Ciao
Claudius
Dim w as Window
Dim i, Ende as integer
w=Window(0)
if w isa ButtonLeiste and WindowCount>1 then
w=Window(1)
end if
AppleAbout.Enable
MenuPapierformat.Enable
AblageVoreinstellungen.Enable
if OpenNeu then
//wenn Daten geladen dann Menüs aktivieren
AblageStandardImport.Enable
AblageProfitImport.Enable
AblageMacGiroImport.Enable
AblageExport.Enable
AblageExportStandard.Enable
MenuBackUp.Enable
MenuExportSteuerfuchs.Enable
MenuKurseAktualisieren.Enable
MenuBasisSteuer.Enable
BasisdatenFormulare.Enable
BasisdatenSteuerfelder.Enable
BearbeitenBuchungen.Enable
MenuDepotverwaltung.Enable
MenuMSQL.Enable
ExtrasErgebnisse.Enable
ExtrasMWStAuswertung.Enable
ExtrasDBClean.Enable
ExtrasDBDiagnose.Enable
ExtrasStatistik.Enable
ExtrasAnalyse.Enable
ExtrasFensterZurueck.Enable
//FensterMenü erstellen
Ende=Ubound(OffeneFensterArray)
OffeneFenster(0).checked=false
if OffeneFenster(0).visible then OffeneFenster(0).visible=false
For i=0 to Ende
if i=0 then
if NOT OffeneFenster(0).visible then
OffeneFenster(0).visible=true
end if
if OffeneFensterArray(i).title=w.title then
OffeneFenster(i).checked=true
else
OffeneFenster(i).checked=false
end if
OffeneFenster(i).enable
next
If BuchungenCalc=0 AND ErgebnisseCalc=0 AND AnalyseCalc=0 AND
DepotCalc=0 AND MWStCalc=0 then
//Wenn die Buchungen/Ergebnisse/Analysen kalkuliert werden
AblageOpen.Enable
AblageNeu.Enable
AblageImport.Enable
AblageExportStandard.Enable
BearbeitenAllgemein.Enable
BearbeitenBasisdaten.enable
BasisdatenKonten.Enable
BasisdatenKategoriegruppen.Enable
BasisdatenKategorien.Enable
BasisdatenDauerauftraege.Enable
BasisdatenBuchungsMakros.enable
BasisdatenKontoarten.enable
BasisdatenKontogruppen.enable
MenueDeleted.enable
end if
If DepotCalc=0 AND ErgebnisseCalc=0 AND AnalyseCalc=0 AND
OnlineStatus=0 then
//Wenn die Depot/Ergebnisse/Analysen kalkuliert werden
MenuBasisDepot.enable
MenuWertpapiere.enable
MenuWaehrungen.enable
MenuWPArt.enable
MenuOnlineAnbieter.enable
MenuDepotKonten.enable
end if
if MWSTCalc=0 then
MenuBasisMWSt.Enable
BasisdatenMWSt.Enable
BasisdatenMWStSatz.Enable
end if
if WindowCount>0 and w<>NIL then
//Wenn Fenster offen sind, dann ist folgendes moeglich
//Apfel+W deaktivieren, wenn ein Fenster im Vordergrund ist in
dem noch Threads laufen
if w isa Buchungen AND BuchungenCalc<>0 then
//Enabled=false ist default
elseif w isa ergebnisse AND ErgebnisseCalc<>0 then
//Enabled=false ist default
elseif w isa Analyse AND AnalyseCalc<>0 then
//Enabled=false ist default
elseif w isa Depot AND DepotCalc<>0 then
//Enabled=false ist default
elseif w isa MWStAuswertung AND MWStCalc<>0 then
//Enabled=false ist default
elseif w isa ButtonLeiste AND WindowCount=1 then
//Enabled=false ist default
else
AblageSchliessen.Enable
end if
else
//kein Fenster offen
//Enabled=false ist default
end if
else
//keine Datenbank ist geladen
AblageOpen.Enable
AblageNeu.Enable
end if
|