![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение параметров из Cом объекта.
kostya © (2002-04-03 09:50:00)У меня проблема следующего рода: Написал Com, в Delphi он прекрасно работает, но когда использую его в VBA, то все функции работают нормально, кроме тех, в которых, возвращаемый параметр строка. В макросе вылетает ошибка "клиент отключен от объекта".
kostya (2002-04-03 12:46:00) [1]function Tfindfile.GetNameNew(No: Integer;
out PathFile: WideString): WordBool;
begin
try
PathFile:=FileList.Strings[No];
finally
Result:=True
end;
end;
Работает нормально.
Digitman (2002-04-03 12:12:00) [2]>kostya
никаких WideString ! только - OleVariant будет работать на стыке с VBA.
Dok_3D (2002-04-03 11:38:00) [3]Можно out OleVariant,
если эта вариантная переменная будет иметь стринговое значение, то VBA ее прекрасно поймет.
Dimka Maslov (2002-04-03 11:13:00) [4]или можно и out WideString
kostya (2002-04-03 11:05:00) [5]To Dimka Maslov
а что за тип LPCTSTR мне чего то такой не установить :((
kostya (2002-04-03 10:27:00) [6]To Digitman
function TSearchFile.GetFileName(Number_: Integer): WideString;
begin
Result:=FileList.Strings[Number_]
end;
Digitman (2002-04-03 09:57:00) [7]приведи декларацию и реализацию интерфейсного функц.метода, вызов которого из VBA вызывает сию проблему
Dimka Maslov (2002-04-03 09:56:00) [8]В Com-объектах, если они исплоьзуются в VBA нельзя использовать строки, как параметры, возвращаемые функцией. Попробуй заменить такие методы интерфейсов следующим образом
было:
function SomeFunc(Params): PChar;
надо:
function SomeFunc(Params; out ResultStr: LPCTSTR): HResult;