Dobrý den, mám další dotaz týjakící se OOBasicu a volání funkcí pomocí OLE (pro přístup k systému ABRA).
Volání OLE funkce mi nevrací hodnoty v určených proměnných. Konkrétně je uvedená funkce FindByPart definována takto: 
function FindByPart(const TextField: WideString; var Text: WideString; out ID: WideString): WordBool;
tedy v druhém a třetím parametru funkce vrací nějaké hodnoty, první je konstantní.
Takto to také pracuje bez problémů v MS Excelu. Bohužel v OOo to nefunguje. OOo posune parametry a přepíše parametr 1 výsledkem par2 a  parametr 2 přepíše výsledkem 3, do třetího parametru neuloží nic.
.
Fragment kódu:
.
  Dim mID As String
  mKarta = "DRC 12-24 PA"
  mTextField = "CODE"
  
  Set G3 = CreateObject("AbraOLE.Application")
  Set mRoll = G3.GetRoll("S3WZQKDB5FDL342M01C0CX3FCC", 0)
  If mRoll.FindByPart(mTextField, mKarta, mID) Then
   .....
.
Pracuje vůbec v OOo správně zapouzdření (automation bridge) volání OLE funkcí?
Nebo mám chybu někde v definici proměnných? Basic je dost prasácký jazyk, můžete přepisovat všechno vším a je tak v proměnných nepořádek.
Dík za radu
						Editoval imcon (30. 8. 2011 12:28:51)