Wie setze ich den Dialog Return Value?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

preklov
***
Beiträge: 76
Registriert: Mo, 29.06.2009 09:04
Wohnort: Ruhrgebiet

Wie setze ich den Dialog Return Value?

Beitrag von preklov »

Vielleicht sehe ich den Wald vor lauter Bäumen nicht.

Ich will einen Dialog in einem Makro über einen Pushbutton beenden. Eine damit verknüpfte Prozedur kontrolliert aber vorher die Inhalte der anderen Dialogelemente. Die Prozedur beendet den Dialog mit .endExecute(), wenn alles in Ordnung ist, ansonsten bleibt der Dialog offen und der Fokus wird auf das Element mit dem Fehler gesetzt.

Mir scheint, das geht nur, wenn der Pushbutton den Typ "Standard" hat und nicht "OK". Dann aber erhalte ich nach endExecute() den Rückgabewert 0. Ich will aber den Wert 1 als Unterscheidung zum Abbrechen.

Wie kann ich den Dialog offen halten nach Drücken einer "OK"-Typ-Taste? Oder alternativ: Wie kann ich den Dialogrückgabewert setzen? (Ich weiß, dass ich das über eine globale Variable ganz einfach lösen kann, aber ich hätte lieber eine Dialog-immanente Lösung, wenn es sie denn gibt.)

Grüße
Volker
Schöne Grüße
Volker
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Wie setze ich den Dialog Return Value?

Beitrag von komma4 »

Hallo Volker,

ja: das ist so, dass die OK-Schaltfläche den Dialog beendet.


Du hast alles schon richtig erkannt ... (globale Variable nutzen) ... sonst noch eine Frage?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
preklov
***
Beiträge: 76
Registriert: Mo, 29.06.2009 09:04
Wohnort: Ruhrgebiet

Re: Wie setze ich den Dialog Return Value?

Beitrag von preklov »

Code: Alles auswählen

Du hast alles schon richtig erkannt ... 
Tja, ich weiß nicht so recht. Zum Beispiel habe ich noch nicht erkannt, wie ein Return Value gesetzt wird oder ob der nur fest verdrahtet ist.

Aus Deiner Antwort entnehme ich wenigstens, dass es nicht möglich ist, die Aktivierung eines OK-Buttons aufzuhalten. Korrekt?

Gruß
Volker
Schöne Grüße
Volker
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Wie setze ich den Dialog Return Value?

Beitrag von komma4 »

Bahnhof!

Was heisst: OK aufhalten?


Wenn Du eine Fehlerprüfung vor Schliessen des Dialogs möchtest - nehme eine STANDARD-Schaltfläche.

Ich weiss nicht, was Du mit RETURN VALUE meinst (wo setzen, was damit zurück geben?).
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
preklov
***
Beiträge: 76
Registriert: Mo, 29.06.2009 09:04
Wohnort: Ruhrgebiet

Re: Wie setze ich den Dialog Return Value?

Beitrag von preklov »

Was heisst: OK aufhalten?
OK, Winfried, war zu verkürzt: jemand klickt, die Prozedur prozediert, das OK wird zurückgenommen. Ich habe ja jetzt verstanden, dass das bei OK-Typ-Buttons nicht möglich ist.
Ich weiss nicht, was Du mit RETURN VALUE meinst
Wenn der Dialog durch ein "OK" beendet wird, gibt er 1 zurück, durch die Funktion .endExecute() aber 0. Ich will die 1 zurückgeben.

Gruß
Volker
Schöne Grüße
Volker
Antworten