Liebe Liste,

wieder einmal ein kleines Problem, bei dem ich nicht weiter komme. Ich habe 
ein Formular, das zum Anfang mit Defaultwerten belegt wird und deshalb nach 
einer Abspeicherung verlangt, bevor es wieder geschlossen werden kann. Gut, 
mache ich das eben automatisch: 
oForm.insertRow()
Damit wird die Abspeicherung erledigt. Überflüssige Datensätze, die so am Ende 
entstehen, werfe ich einfach durch eine entsprechende Bereinigung wieder raus.
Nun liegt auf dem Formular auch ein Button, der dazu dient, einen Neuen 
Datensatz aufzurufen. Leider kann man nun, aufgrund der automatischen 
Abspeicherung, beständig neue Datensätze gründen, die inhaltslos sind (bis auf 
die Defaultwerte und den Primärschlüssel).
Hier soll helfen:
SUB Neu_Disable 
        REM Der Button "ButtonNeu" wird auf "Disabled" geschaltet.
        oDoc=thisComponent
        oDrawpage = oDoc.Drawpage
        oForm = oDrawpage.Forms.getByName("Artikel")
        oFeld = oForm.getByName("ButtonNeu")
        oDocCrl = ThisComponent.getCurrentController()
        oCtlView = oDocCrl.GetControl(oFeld)
        oCtlView.Enable = False
END SUB
Tut's auch, wenn ich das Makro nach dem Insert-Befehl aufrufe. Der Button wird 
auf nicht benutzbar geschaltet. Tuts auch, wenn ich (wie anfangs zur 
Erforschung der Möglichkeiten an oCtlView) eine Messagebox
msgbox oCtlView.dbg_methods oder auch nur eine leere Messagebox 
dazwischenschalte. Tuts nur nicht, wenn ich dieses Makro als letzten Teil beim 
Start des Formulars hinter den obigen Insert packe. Als ob so etwas wie ein 
asynchroner Funktionsablauf stattfindet, wie er mir manchmal bei AJAX in der 
Webentwicklung Probleme bereitet.
Meine Frage: - gibt es eine Möglichkeit, eine Pause in einem Makro einzubauen?
Meine Frage (aus Neugier): - was läuft da im Hintergrund ab, so dass diese 
Pause anscheinend notwendig ist?

... Was übrigens nicht funktioniert: Den Button in der GUI auf aktiviert - 
Nein zu stellen und dann anschließend per Makro eine Aktivierung zu erreichen. 
Zumindest nicht mit oCtlView.Enable = True. ...

Gruß

Robert

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an