Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Как присвоить типу OleVariant адресс процедуры?   Найти похожие ветки 

 
oleg_SYS ©   (2005-03-02 20:18) [0]

Мне необходимо через COM-объект выловить некоторые события. Но при попытке присвоить этим параметра адресса процедур, компилятор выдаёт ошибку Incompatible types. Вот пример:


procedure MyProcedure;
begin
ShowMessage(":)");
end;

procedure TForm1.Button1Click(Sender: TObject);
var
ptrAddr: Pointer;
ov: OleVariant;
begin
ptrAddr := @MyProcedure;
ov := ptrAddr;
end;


 
Набережных С. ©   (2005-03-02 20:41) [1]


> oleg_SYS ©   (02.03.05 20:18)  

Ни-и-че не понял:( А нормальным языком изложить все это никак нельзя? Ну а несовместимость типов - все правильно, OleVariant принимает только OLE-совместимые типы, а Pointer к таковым не относится.


 
oleg_SYS ©   (2005-03-02 20:53) [2]

Набережных С., например у объекта IHTMLDOcument2 есть property:


property onreadystatechange: OleVariant read Get_onreadystatechange write Set_onreadystatechange;


тип - OleVariant. Мне необходимо его выловить, чтобы узнавать, когда юзер перешёл на новую страницу или нажал кнопку Refresh.


 
Набережных С. ©   (2005-03-02 21:56) [3]


> oleg_SYS ©   (02.03.05 20:53) [2]

Процедура тут не причем. Туда нужно передать интерфейс объекта, который и будет обрабатывать факт события. Т.е. при событии будет вызываться метод этого объекта. Какой нужен интерфейс в данном случае, я не знаю, никогда с ним не работал.


 
Erik1 ©   (2005-03-03 12:37) [4]

А вобще можно, что угодно запихать куда угодно. Для этого есть приведение типов. Или вобще непрямую Move писать.
ov := Integer(@MyProcedure);
Еще прикол:
Var
  a: Boolean;
begin
 Move(77, a, SizeOf(Byte));
end;


 
Digitman ©   (2005-03-03 12:45) [5]


> через COM-объект выловить


это как ?!



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

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

Наверх





Память: 0.46 MB
Время: 0.055 c
3-1108643663
viola
2005-02-17 15:34
2005.03.20
Экспорт данных


3-1108790471
DelphiN!
2005-02-19 08:21
2005.03.20
Как работать с SQL не "визуально" ?


1-1110222052
ramil
2005-03-07 22:00
2005.03.20
Как сделать программу с входными параметрами


4-1108057557
Grey_F_O_X
2005-02-10 20:45
2005.03.20
Создание Browser Helper Object (BHO) с поиощью DELPHI


9-1092944420
Zer0[np]
2004-08-19 23:40
2005.03.20
А не устраивать ли нам небольшие конкурсы по кодингу? (ч.2)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский