OpenOffice UNO

spezielle Probleme mit AOO/LO unter Linux

Moderator: Moderatoren

hotmaz
Beiträge: 6
Registriert: Fr, 18.06.2010 09:05

OpenOffice UNO

Beitrag von hotmaz »

Hallo OpenOfficeForum,

ich hoffe, dass mir jemand hier helfen kann, denn ich weis nicht mehr wieter.
Ich schreibe grade, in C++ Qt, eine kleine Anbindung an OO die TextDokumenten offnen und mit eigenen Inhalten füllen soll.
Allerdings scheitere ich schon beim Connection.

Hier ist mein Code:

Code: Alles auswählen

        Reference <XComponentContext> rComponentCon = defaultBootstrap_InitialComponentContext();
	Reference <XMultiComponentFactory> rMultiCompFac = rComponentCon->getServiceManager();
	Reference<XMultiServiceFactory> rService(rMultiCompFac, UNO_QUERY);
	Reference<XInterface> rInterface = rService->createInstance(OUString::createFromAscii("com.sun.star.frame.Desktop"));
	Reference<XComponentLoader> rLoader(rInterface, UNO_QUERY);

		Reference<XComponent> xComponent = rLoader->loadComponentFromURL(OUString::createFromAscii("private:factory/swriter"),
																			  OUString::createFromAscii("_blank"), 0,
																			  Sequence<PropertyValue>());
	
		
	
Und in der letzten Zeile biem

Code: Alles auswählen

Sequence<PropertyValue>()
steigt es einfach raus mit 'Segmentation Fault' und keine weiteren meldungen.
Mein System ist Ubuntu 10.04 64-bit. UNO war schon installiert standartmäßig auf dem System.
Alle notige Schritte mit idlc, regmerge und cppumaker habe ich gemacht und hat ohne probleme funktioniert.

Ich habe alles mögliche ausprobiert, bis zur neue Installation von openoffice und uno, hat nichts geholfen.
Ich hoffe, dass jemand hier mir helfen kann.

mfg, hotmaz
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: OpenOffice UNO

Beitrag von Stephan »

ich habe von C++ keine Ahnung, aber ist denn sicher das PropertyValue>() im Code nicht nur ein Platzhalter aus einem Code-Beispiel ist der durch sinnvollen Inhalt ersetzt werden muß?
Der Parameter ansich ist seiner Natur nach ein sog. Property-Value-Array, so dort keine explizite Angabe nötig ist (das hängt von den konkreten Umständen ab) muß dort zumindestens ein leeres Array übergeben werden. Ich weiß nicht ob C++ hierfür das Schlüsselwort ARRAY() kennt, in StarBasic wäre jedoch ARRAY() ausreichend um ein leeres Array zu übergeben.




GRuß
Stephan
hotmaz
Beiträge: 6
Registriert: Fr, 18.06.2010 09:05

Re: OpenOffice UNO

Beitrag von hotmaz »

Hallo und danke für den Antwort.

Es war auch meine Gedanke, aber nach dem Suchen mit Frau Google und einfügen von dem folgenden Code:

Code: Alles auswählen

sal_Bool myBol;
	Any myPropBol;
	myBol = false;
	myPropBol <<= myBol;

	Sequence<PropertyValue> prop = Sequence<PropertyValue>(1);
	prop[0] = PropertyValue();
	prop[0].Name = OUString::createFromAscii("Hidden");
	prop[0].Value = myPropBol;
hat es auch nichts ausgewirkt.
Bricht mit der selber Fehlermeldung ab.

Ich habe wirklich schon etliche Foren durchsucht und nach Developer Guide von OO vorgegangen,
aber auf keine Lösung gekommen.

mfg, hotmaz.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: OpenOffice UNO

Beitrag von Stephan »

hat es auch nichts ausgewirkt.
und Du bist sicher das das nicht nur daran liegt das Du nicht

Code: Alles auswählen

Sequence<PropertyValue> prop = Sequence<PropertyValue(0)>;
oder:

Code: Alles auswählen

Sequence<PropertyValue> prop = Sequence<PropertyValue>(0);
statt:

Code: Alles auswählen

Sequence<PropertyValue> prop = Sequence<PropertyValue>(1);
verwendest?
Obwohl ich nicht sagen kann ob der restliche Code im DEtail korrekt ist.


Gruß
Stephan
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: OpenOffice UNO

Beitrag von Stephan »

ich finde außerdem (nach 2 Minuten suchen) in:

http://wiki.services.openoffice.org/wik ... _OooWriter


den Hinweis das es vielleicht:

Sequence < ::com::sun::star::beans::PropertyValue >());

heißen muß.


Gruß
Stephan
hotmaz
Beiträge: 6
Registriert: Fr, 18.06.2010 09:05

Re: OpenOffice UNO

Beitrag von hotmaz »

Stephan hat geschrieben:ich finde außerdem (nach 2 Minuten suchen) in:

http://wiki.services.openoffice.org/wik ... _OooWriter


den Hinweis das es vielleicht:

Sequence < ::com::sun::star::beans::PropertyValue >());

heißen muß.


Gruß
Stephan
Danke,

aber ich habe in Header schon folgendes:

Code: Alles auswählen

using namespace com::sun::star::beans;
Somit muss ich nicht kompletten Pfad zur PropertyValue angeben.

mfg hotmaz.
Antworten