Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

Получение параметров из 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;

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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.026 c
1-46324           kull                  2002-04-03 11:30  2002.04.15  
Проблеммы с почтой...


1-46399           Schummi               2002-03-30 08:08  2002.04.15  
Panel:=TPanel.Create(Form);


1-46340           Muzzy                 2002-04-04 09:33  2002.04.15  
Цвета в столбцах TStringGird


4-46551           ShaH                  2002-02-13 12:46  2002.04.15  
Непонятки с LogonUser


3-46293           Serg!                 2002-03-22 19:04  2002.04.15  
ким образом можно динамически подгужать данные из select-запроса?