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

Вниз

Как сделать OnTimer в RunTime в DLL?   Найти похожие ветки 

 
tytus ©   (2007-03-15 11:46) [0]

var
Timer:TTimer;
OnTimer:TNotifyEvent;

function .....
Timer:=TTimer.Create(????);
Timer.Enambled:=false;
Timer.Interval:=30000;
Timer1.Enabled:=true;


 
Сергей М. ©   (2007-03-15 11:58) [1]

А что не понятно ?


 
Рамиль ©   (2007-03-15 12:07) [2]

nil


 
tytus ©   (2007-03-15 12:08) [3]

>Сергей М. ©   (15.03.07 11:58) [1]
непонятно как подрутить событие срабатывания таймера  к самому таймеру.


 
Сергей М. ©   (2007-03-15 12:13) [4]


> tytus ©   (15.03.07 12:08) [3]


Ну и причем тут DLL ?

Если у тебя, предположим, не DLL, а приложение без форм, то в этом случае ты знаешь как это сделать ?


 
tytus ©   (2007-03-15 12:17) [5]

var
 Timer:TTimer;
 OnTimer:TNotifyEvent;

begin
Timer:=TTimer.Create(nil);
Timer.OnTimer:=OnTimer;
Timer.Enabled:=true;
end;

как описать процедуру
procedure Timer.OnTimer(Sender:TObject);


 
tytus ©   (2007-03-15 12:26) [6]

может так
var
 procedure OnTimer(Sender:TObject) of object;
begin
...
Timer.OnTimer:=OnTimer;


 
Сергей М. ©   (2007-03-15 12:42) [7]

Класс любой нужен.
А у класса этого метод с прототипом TNotifyEvent


 
Leonid Troyanovsky ©   (2007-03-15 14:14) [8]


> tytus ©   (15.03.07 12:26) [6]

> может так

Не нужно использовать TTimer в dll.
Есть такая функция SetTimer, ее и пользуй with TimerProc.
Ну, а для начала, библиотека должна найти какое-нибудь
окно хост-приложения (принадлежащее вызывающему потоку).

--
Regards, LVT.


 
tytus ©   (2007-03-15 15:09) [9]

>Leonid Troyanovsky ©   (15.03.07 14:14) [8]
Вы имеете ввиду передавать в dll Application.Handle?
К примеру так:
SomeFunction(AHandle:THndle;....):integer;stdcall;

А в самой dll писать:
SomeFunction(.....):integer;
begin
Application.Handle:=AHandle;
SomeClass:=TSomeClass.Create(Application);
...
end;
Или передача хендла хост-приложения оправдана только для форм в dll?

На счет SetTimer - спасибо. Юзал, думаю проблем не будет.


 
Сергей М. ©   (2007-03-15 15:20) [10]


> tytus ©   (15.03.07 15:09) [9]


stdcall упомянут осознанно или "щоб було" ?


 
Leonid Troyanovsky ©   (2007-03-15 15:25) [11]


> tytus ©   (15.03.07 15:09) [9]

> Вы имеете ввиду передавать в dll Application.Handle?

Я имел ввиду, что у хоста может и не быть Application.

> Или передача хендла хост-приложения оправдана только для
> форм в dll?

Там она не оправдана.
Или, лучше сказать, что не оправданы формы в dll.

--
Regards, LVT.


 
tytus ©   (2007-03-15 15:40) [12]

>Сергей М. ©   (15.03.07 15:20) [10]
stdcall упомянут осознанно или "щоб було" ?
ни, цэ нэ так, моя dll выклыкатыметься прогою на С. -)))


 
Сергей М. ©   (2007-03-15 15:48) [13]


> tytus ©   (15.03.07 15:40) [12]


И что ?

И у этой "проги на С" есть и дельфийский объект Application и хэндл основного окна ?

Репу-то почеши малясь) ..


 
tytus ©   (2007-03-15 15:58) [14]

>Сергей М. ©   (15.03.07 15:48) [13]
да не нужен мне Application в dll. Напишу cdecl и все.
Всем спасибо!
See ya! -)


 
Сергей М. ©   (2007-03-15 15:59) [15]


> tytus ©   (15.03.07 15:58) [14]


> Напишу cdecl и все.


Валяй.
далеко пойдешь)



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

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

Наверх




Память: 0.5 MB
Время: 0.046 c
3-1172238690
Tor
2007-02-23 16:51
2007.05.13
Открытая транзакция


2-1177340248
Никитин К
2007-04-23 18:57
2007.05.13
выручите, плиз! Не представляю как делать...


8-1156246891
Zeleniy
2006-08-22 15:41
2007.05.13
удаление содержимого звукового файла


2-1177055548
allucard
2007-04-20 11:52
2007.05.13
Как заставить работать колесо прокрутки на форме?


15-1176394159
Yanis
2007-04-12 20:09
2007.05.13
В продолжение темы дня.