Hi,

Der Benutzer öffnet ein Writer Dokument in dem ein Dialog startet und das 
Hauptdokument versteckt wird, von da aus gehts weiter
Die Dialogbox stellt ein Menu dar welches dann aus der externen odb Datei die 
Formulare öffnet

Der Bug zu dem Formularproblem ist hier beschrieben 
http://www.openoffice.org/issues/show_bug.cgi?id=63392

Dazu habe ich bereits zuvor einmal hier gepostet

----------------------
Hi,
 
ich habe da ein kleines Problem das mich heute morgen beim Kunden ins schwitzen 
gebracht hat ich habe etliche Makros m Büro vorbereitet aud Version 2.0, beim 
Kunden ist die 2.0.2 installiert Als ich dort ankam funktionierte die Hälfte 
meiner Makros nicht.
 
ZB folgendes
 
Sub ASListeAktualisieren
 Doc = StarDesktop.CurrentComponent
 Forms = Doc.Drawpage.Forms
 oForm = Forms.GetByIndex(0)
 oForm.getByName("LB_AS").refresh
End Sub
 
und zwar bleibt er an der Drawpage Zeile hängen mit der Meldung "Objektvariabel 
nicht belegt"
Werde jetzt mal hier im Büro auch die 2.0.2 installieren und sehen ob ich das 
in den Griff bekomme.
 
Wäre aber schon dankbar für einen Hinweis ;)
 
Gruss,
Christophe
----------------------

Werde schonmal den Rest etsten ;)

Danke schonmal :)

Christophe



-----Original Message-----
From: Thomas Krumbein [mailto:[EMAIL PROTECTED] 
Sent: mardi 20 juin 2006 13:46
To: [email protected]
Subject: Re: [de-users] Toolbars eines Formulars in einer odb per Makro 
verstecken


Hey Christophe,

Christophe Nix schrieb:
> Keiner eine Idee? :)

Was denn für eine? Ist doch alles OK.


> Bisher mache ich das folgendermassen
> 
> Sub HideToolbars Dim frame as object doc =
> Stardesktop.getCurrentComponent() frame = doc.CurrentController.Frame  
> lmgr = frame.LayoutManager lmgr.setVisible(false) End Sub

Also, so mache ich das auch - bei externen Formularen. Nur dann macht es ja 
eigentlich Sinn. Wenn der Benutzer vorher Base öffnet und dann erst das 
Formualr startet, hat er doch einen Schritt zu viel und viel zu viel 
Möglichkeiten, Unsinn zu machen.
Ansonsten: Brauchst du wahrscheinlich einen Schritt mehr. Wenn das Formualr 
dann nicht Teil des StarDesktops ist, ist es wahrscheinlich Teil des 
Base-Dokumentes. Dann such halt erst einmal das - und dann das Formular. Hmm, 
halt: ich sehe gerade:
Versuch doch mal, das aktive Dokument wie folgt zu bekommen:

oframe = starDesktop.getAktiveFrame()
lmgr = oFrame.LayoutManager
...

Das sollte auf jeden Fall gehen - denn auch dieses Dokument sollte Teil des 
Stardesktops sein.

> Dies funktioniert leider ausschliesslich in Version 2.0.1 aufgrund 
> eines Bugs, da in der Version die Formulardokumente Teil des 
> Stardesktops sind.

Na, das sollten Sie doch auf jeden Fall sein....

Ausserdem bleibt bei dieser Variante trotzdem die
> Statusleiste erhalten. Ein wenig verstümmelt zwar aber weiterhin 
> aktiv.

Das stimmt - und ist wohl ein Bug. Da gibt es verschieden Issues. Bleibt nur 
eins: Den Statusbalken getrennt nochmals ausschalten. Ich kann dir nur den Code 
geben, den ich nutze - allerdings habe ich nur externe Formulare.

oCW = starDesktop.getAkctiveFrame.getContainerWindow.AccessibleContext
for i = 0 to oCW.getAccessibleChildCount()-1
  iNr = oCW.getAccessibleChild(i).AccessibleContext.AccessibleRole
  if iNr = com.sun.star.accessibility.acessibilityRole.STATUS_BAR then
     oStB = oCW.accessibleChild(i)
     exit for
  end if
next
oStB.visible = false


Vielleicht hilft es dir.

Viele Grüße
Thomas


--
## Marketing deutschsprachiges Projekt
## http://de.openoffice.org  - www.openoffice.org ## Vorstand OpenOffice.org 
Deutschland e.V.
## Mitglieder willkommen: www.OOoDeV.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an