Nieokreślony błąd podczas wywoływania Word CentimetersToPoints za pośrednictwem OLE
Poniższy kod nie powiedzie się z błędem „nieokreślonym” OLE 800040005 wCentimetersToPoint
wywołanie w Delphi (XE), podobna wersja VBS lub VBA przechodzi
var w : OleVariant;
w := CreateOleObject('Word.Application');
w.Visible := true;
Writeln(w.CentimetersToPoints(2.0));
FWIW daje bibliotekę typów
/ [id(0x00000173), helpcontext(0x09700173)]
// single CentimetersToPoints([in] single Centimeters);
Domyślnie Delphi przekazuje wartości zmienne tylko jako Double, więc próbowałem dzwonićIDispatch.Invoke
bezpośrednio i przekazując argument jakoVT_R4
, ale bez lepszych wyników.
edytuj: wersja VB, która działa (zapisz na .vbs)
set w = CreateObject("Word.Application")
w.Visible = true
msgbox w.CentimetersToPoints(2.0)
Jakieś inne sugestie co może pójść źle?