Форум: "Основная";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
ВнизКак сделать 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c