Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.25;
Скачать: CL | DM;

Вниз

Delph и COM помогите разобраться в типах   Найти похожие ветки 

 
ikar ©   (2002-02-08 13:51) [0]

В VCL я использую компоненты ADO Express, вставляя их в COM внутрипроцессорный. И пытаюсь получить данные в VBA.

Реализация:
(IDL)
{
int _stdcall TInteger( void );
BSTR _stdcall TString( void );
}

(Delphi)
{
function Объект.TInteger: Integer;
begin
Result := Counter;
end;

function Объект.TString: WideString;
begin
Result := WideString(Label1.Caption);
end;
}

Использование:
(VBA)
{
DIM a AS Библиотека.Объект
SET a = CreateObject(IОбъект)
i = a.TInteger // Работает
s = a.TString // Завешивает приложение
}


Я надеюсь на то что RecordSet и в VCL, и в VBA наследуются от одного интерфейса IRecordSet.
CLASS_Recordset {00000535-0000-0010-8000-00AA006D2EA4}
IID__Recordset {00000555-0000-0010-8000-00AA006D2EA4}

Как вообще возможно узнать и использовать интерфейс которого нет в Type Library Editor?

Благодарю за любую помощь.


 
kig   (2002-02-08 16:17) [1]

>SET a = CreateObject(IОбъект)

Здесь точно не опечатка? Потому что вообще-то так надо
SET a = CreateObject("ProgID")
Скорее всего ProgID = "Библиотека.Объект"


 
Набережных С.   (2002-02-08 16:19) [2]

Функция должна выглядеть либо так:

function Объект.TString: WideString;safecall;

либо так:

function Объект.TString(out Value: WideString):HResult;stdcall;



 
ikar ©   (2002-02-09 09:55) [3]

Спасибо за помощь, обязательно попробую.
kig конечно прав, я так и делаю.



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

Текущий архив: 2002.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
7-79488
Прикольщик
2001-11-15 22:53
2002.02.25
помогите чем можете


3-79264
roadstar
2002-01-30 13:46
2002.02.25
Схема данных в Access


4-79512
Andrey80
2001-12-27 00:07
2002.02.25
Подскажите как вставить иконку нестандартного размера.


4-79516
Алекс1
2001-12-18 10:16
2002.02.25
Удалить директорию в NT и перезагрузка в NT


14-79463
Filat
2002-01-09 13:15
2002.02.25
Как при помощи NORTON GHOST сделать копию партишина в имидж вин2000 сервер, чтобы сохранился файл подкачи.