-
ZeRtg (10.12.07 19:35) [0]Здравствуйте.
Моя цель - записать в OOCalc документ Массив данных. для этого мне нужно докопаться до компонента XCellRangeData в OO.SDK
Путь мне представляется таким: ServiceMananer->Desktop->XcomponentLoader->XspreadSheetDocument->XspreadSheet->Xsheet->CellRange->XCellRangeData->setDataArray
Далее следует код:
serviceManager := CreateOleObject('com.sun.star.ServiceManager');
desktop := serviceManager.createInstance('com.sun.star.frame.Desktop');
calc2:= desctop.loadComponentFromURL(convertToURL(DestFileName) , '_blank', 0, mypropo);
xSheets:= calc2.createinstance('com.sun.star.sheet.XSpreadsheets');
На последней сроке выдет Эксепшн о том, что XspreadSheet не зарегистрированно.
Буду благодарен за Ваши соображения по этому поводу.
С ув. Алексей -
OО имеет неплохую документацию. Да и написан на java, COM у него несколько хромает. Ты в общем как раз ссылку берешь из JAVA, а не Com.
-
ZeRtg (13.12.07 14:22) [2]Здравствуйте Tesserast
Какую ссылку?
Я подключаюсь в интерфейсу при помощи COM технологии.
Да, ОО имеет неплохую документацию по Джава, но Джава немного отличается от Делфи, хотя бы тем, что в Джаве не используется СОМ технология, а напрямую подключаются интерфейсы.
Вобщем, я уже разобрался с жтой проблемой, но у меня назрел новый вопрос: в функцию SetDataArray передается вариантный массив. Но, насоклько я понял - какого-то особого типа. Хотелось бы узнать- каким образом мне заполнять данный массив? -
> в функцию SetDataArray передается вариантный массив. Но,
> насоклько я понял - какого-то особого типа. Хотелось бы
> узнать- каким образом мне заполнять данный массив?
Вообще это COM-вский SafeArray. Delphi автоматом должен преобразовывать его к Variant-ому.
Можешь впрямую : SafeArrayGetElement/ SafeArrayPutElement