Вниз
Скачать: CL | DM;

Получение параметров из Cом объекта.   Найти похожие ветки 

 
kostya ©   (2002-04-03 09:50) [0]

У меня проблема следующего рода: Написал Com, в Delphi он прекрасно работает, но когда использую его в VBA, то все функции работают нормально, кроме тех, в которых, возвращаемый параметр строка. В макросе вылетает ошибка "клиент отключен от объекта".


 
Dimka Maslov ©   (2002-04-03 09:56) [1]

В Com-объектах, если они исплоьзуются в VBA нельзя использовать строки, как параметры, возвращаемые функцией. Попробуй заменить такие методы интерфейсов следующим образом

было:
function SomeFunc(Params): PChar;

надо:
function SomeFunc(Params; out ResultStr: LPCTSTR): HResult;




 
Digitman ©   (2002-04-03 09:57) [2]

приведи декларацию и реализацию интерфейсного функц.метода, вызов которого из VBA вызывает сию проблему


 
kostya ©   (2002-04-03 10:27) [3]

To Digitman

function TSearchFile.GetFileName(Number_: Integer): WideString;
begin
Result:=FileList.Strings[Number_]
end;



 
kostya ©   (2002-04-03 11:05) [4]

To Dimka Maslov
а что за тип LPCTSTR мне чего то такой не установить :((


 
Dimka Maslov ©   (2002-04-03 11:13) [5]

или можно и out WideString


 
Dok_3D ©   (2002-04-03 11:38) [6]

Можно out OleVariant,
если эта вариантная переменная будет иметь стринговое значение, то VBA ее прекрасно поймет.


 
Digitman ©   (2002-04-03 12:12) [7]

>kostya

никаких WideString ! только - OleVariant будет работать на стыке с VBA.


 
kostya ©   (2002-04-03 12:46) [8]

function Tfindfile.GetNameNew(No: Integer;
out PathFile: WideString): WordBool;
begin
try
PathFile:=FileList.Strings[No];
finally
Result:=True
end;
end;

Работает нормально.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
4-46553
slydiman
2002-02-08 23:56
2002.04.15
C++Builder & ExcelApplication


14-46502
Андрей Сенченко
2002-03-05 17:33
2002.04.15
Компоненты для архивации


3-46260
Бур
2002-03-21 11:54
2002.04.15
Как восстановить соединение с базой ...


3-46279
Pete
2002-03-24 12:59
2002.04.15
ADO SQL


14-46480
VictorT
2002-03-06 13:12
2002.04.15
однопользовательская в многопользовательскую




   Наверх