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

Вниз

Можно ли посмотреть описание события без исходного кода?   Найти похожие ветки 

 
Kolan ©   (2009-08-17 12:57) [0]

Здравствуйте!

Есть набор компонент без исходников. В одном из компонентов есть событие OnDataSend. Можно ли как-то просмотреть его описание? Как-то же делфи показывает хинт при наведении на событие.

Если не понятно что за хинт — вот скриншот (http://img-fotki.yandex.ru/get/3614/ksoftware.b/0_2eafc_31110d2c_orig).

В справке к компонентам событие не описано, с автором связался, написать обработчик по хинту — пробовал:
procedure ZModemDataSend(Sender: TObject; ptrBuffer: PAnsiChar;
     Len: Cardinal; flSyncro: Boolean; flHandled: Boolean);


ИДЕ говорит: E2009 Incompatible types: "Parameter lists differ"


 
Дмитрий С ©   (2009-08-17 13:02) [1]

Похоже что какието параметры тут var, например, flhandled


 
Kolan ©   (2009-08-17 13:07) [2]

Я тоже так думаю, не хочется гадать какие, хочется посмотреть интерфейс.


 
TUser ©   (2009-08-17 15:02) [3]

Ctrl+Alt+C во время отладки, и глянуть, как параметры передаются.


 
Дмитрий С ©   (2009-08-17 15:26) [4]

Набери примерно так:

program Project2;

type
 TZModemDataSend=procedure (Sender: TObject; ptrBuffer: PAnsiChar;
    Len: Cardinal; flSyncro: Boolean; var flHandled: Boolean);

var
 T:TZModemDataSend;
begin
 T(|      <<<< курсор тут
end.

и в хинте будет объявление.


 
Kolan ©   (2009-08-17 15:29) [5]

А как попасть в отладку этого места, если оно не компилится?


 
Kolan ©   (2009-08-17 15:31) [6]

Так в хинте будет мое объявление, не понял как получить то, которое незнамо где?


 
Дмитрий С ©   (2009-08-17 15:35) [7]

TZModemDataSend - это тип евента в твоем чудо-dcu-юните


 
Kolan ©   (2009-08-17 15:46) [8]

Хи, так я незнаю как он выглядит. То есть я знаю что он называется TDataSendEvent, а где он описан — нет. Поэтому на код
var
T:TZModemDataSend;
begin
T(|      <<<< курсор тут
end.


компилятор ругается, что он, мол, не знает что такое TZModemDataSend.


 
Anatoly Podgoretsky ©   (2009-08-17 15:49) [9]

> Kolan  (17.08.2009 15:46:08)  [8]

Надо ли рассказывать про uses?


 
Kolan ©   (2009-08-17 15:51) [10]

Что в эти uses писать?


 
Anatoly Podgoretsky ©   (2009-08-17 15:56) [11]

Имя модуля, в котором описано TZModemDataSend


 
Kolan ©   (2009-08-17 16:00) [12]

А как его, это имя, узнать?


 
Ins ©   (2009-08-17 16:02) [13]


> Как-то же делфи показывает хинт при наведении на событие.


Из dcp-файла информацию берет


 
Дмитрий С ©   (2009-08-17 16:02) [14]

Синим в твоей картинке выделено, и подчеркнуто еще. Модуль и тип.


 
Kolan ©   (2009-08-17 16:05) [15]

Нет, синим выделено и подчеркнуто — это модуль (nrZmodem) в котором объявлен сам компонет TnrZModem, а событие, судя по тому, что компилятор не знает что такое TDataSendEvent объявлено где-то в другом модуле, который подключен к этому nrZmodem в uses.


 
Дмитрий С ©   (2009-08-17 16:06) [16]

Напиши там же:
FZModem.OnDataSend(
После скобки должен желтый хинт появится .


 
Kolan ©   (2009-08-17 16:09) [17]

Точно, так получилось :)

procedure ZModemDataSend(Sender: TObject; ptrBuffer: PAnsiChar;
     Len: Cardinal; flSyncro: Boolean; var flHandled: Boolean);


 
Kolan ©   (2009-08-17 16:09) [18]

Благодарю.


 
Kolan ©   (2009-08-18 10:27) [19]

Интересно, что никто не предложил бросить компонент на форму и дважды тыкнуть нужное событие :)



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

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

Наверх




Память: 0.51 MB
Время: 0.009 c
15-1250232134
F$
2009-08-14 10:42
2009.10.18
Include TD32 debug info


2-1250064945
belmol
2009-08-12 12:15
2009.10.18
Найти сумму степенного ряда


2-1250413824
hinst
2009-08-16 13:10
2009.10.18
Synchronize


2-1250247119
sdsk
2009-08-14 14:51
2009.10.18
Как в delphi получить копию экземпляра класса?


6-1207054869
SpellCaster
2008-04-01 17:01
2009.10.18
Асинхронные сокеты "забивают" очередь сообщений