Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.047 c
2-1177066000
Хаммер
2007-04-20 14:46
2007.05.13
Операторы


15-1176503199
ppcumax
2007-04-14 02:26
2007.05.13
Программа кликающая по ссылкам


2-1176988119
Ice2
2007-04-19 17:08
2007.05.13
Запустить приложение как сервис.


15-1176570773
Desdechado
2007-04-14 21:12
2007.05.13
Системная библиотека перемещена в памяти


15-1176784634
Kholl
2007-04-17 08:37
2007.05.13
Internal error при инсталяции BDS





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский