![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Системный таймер
Sniffer © (2002-04-13 22:25:00)Привет всем! Кто нить скажет, чё ето за штуковина и как её юзать.
В моём разумении системный таймер, ет выполняет те же самые ф-ции как и стандартный дельфийский компонент......исправте если ошибаюсь. Усем сенкс!
Aleks1 (2002-04-16 02:58:00) [1]> Anatoly Podgoretsky © (15.04.02 10:18)
>>Aleks1 (15.04.02 05:38)
>>Для начала смотрим, что там не 0, а Application.Handle, затем
>>срочно идем в СРР и узнаем что такое UINT, и что такое NULL, >>после этого возрвращаемя сюда и говорим, что писать в данном >>случае нужно 0
UINT - это и ежу ясно - Unsigned Integer;
Другое дело, что, по-моему, хэлп Д4 виноват!
Написано:
nIDEvent
Specifies a nonzero timer identifier. If the hWnd parameter is NULL, this parameter is ignored.
Должно быть:
nIDEvent
Specifies a nonzero timer identifier. If the hWnd parameter is NOTNULL, this parameter is ignored.
Anatoly Podgoretsky (2002-04-15 23:45:00) [2]Ну тебе сказали же, это не может быть методом класса, а только отдельной процедурой, а ты продолжаешь настаивать, вон и kull(а) уже запутал, хотя сначала он тебе правильно указал на эту ошибку.
Sniffer (2002-04-15 23:41:00) [3]Всё сенкс! До жирафа дошло!
>> Анатолий Подгоретский
Я понял, о чём вы говорили, я чуток лопухнулся сорри.
>> kull
Я тя наверно чуток достал, извени :))
>> Всем всем
Спасибо!!!!!!!!!!!!!
kull (2002-04-15 23:36:00) [4]Слушай,ну не знаю, у меня Delphi6
Sniffer (2002-04-15 23:27:00) [5]>> kull
Вот блин! Нивезуха! У всех усё пашет, а умене точно такой же код даже не компилируется! У мене всё та же дурацкая ошибка :
[Error] Unit1.pas(37): Variable required !!!!!!!!!!!!!!!!!!!!!!!!!
kull (2002-04-15 23:25:00) [6]Насчет работы в Runtime не проверял, но при компиляции ошибок не выдает.
kull (2002-04-15 23:23:00) [7]да.
Sniffer (2002-04-15 23:15:00) [8]>> kull
Ты хочешь сказать, что такой код работает?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Kiss; stdcall;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure Kiss; stdcall;
begin
beep
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetTimer(Application.Handle, 0, 1000, @Kiss)
end;
end.
Anatoly Podgoretsky (2002-04-15 23:14:00) [9]А правильный ответ тебе трижды дали
ION T © (14.04.02 18:32)
Anatoly Podgoretsky © (14.04.02 22:04)
kull © (15.04.02 22:02)
Sniffer (2002-04-15 23:10:00) [10]>> Anatoly Podoretsky
А не очень понял, то что вы написали.......... Не могли бы вы более детально пояснить?
kull (2002-04-15 23:09:00) [11]Так вот, есть разница между
procedure Kiss;
и
procedure TForm1.Kiss;
?
этот пример работает с процедурой.
Anatoly Podgoretsky (2002-04-15 23:07:00) [12]У тебя нет процедуры, а есть метод класа, хотя в ответ на прямой вопрос Anatoly Podgoretsky © (14.04.02 21:39)ты привел недостоверную информацию Sniffer (14.04.02 21:44)
Sniffer (2002-04-15 23:04:00) [13]>> ION T
Поставил, ноль на массу :((, та же ошибка :
[Error] Unit1.pas(37): Variable required
Sniffer (2002-04-15 23:01:00) [14]Я пересмотрел код........... Кому интиресно вот он :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Kiss; stdcall;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Kiss; stdcall;
begin
beep
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetTimer(Application.Handle, 0, 1000, @Kiss)
end;
end.
После нажатия F9 выделяет строку
SetTimer(Application.Handle, 0, 1000, @Kiss)
и говорит :
[Error] Unit1.pas(37): Variable required
Поясните плиз чё здесь я не так написал
ION T (2002-04-15 22:55:00) [15]Поставь галочку на Ctrl+Shift+F11->Compiler->Extended Syntax
kull (2002-04-15 22:02:00) [16]У меня вот это дело прекрасно работает:
procedure Kiss(Wnd: hWnd; uMsg, idEvent: cardinal; dwTime: LongWord); stdcall;
begin
beep;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetTimer(Application.Handle, 0, 1000, @Kiss)
end;
может стоит посмотреть внематочно на код, может где-то еще?
Sniffer (2002-04-15 20:40:00) [17]Так в где ошибка то?
Sniffer (2002-04-15 18:25:00) [18]Так в гле ошибка то?
Anatoly Podgoretsky (2002-04-15 10:18:00) [19]Aleks1 (15.04.02 05:38)
Для начала смотрим, что там не 0, а Application.Handle, затем
срочно идем в СРР и узнаем что такое UINT, и что такое NULL, после этого возрвращаемя сюда и говорим, что писать в данном случае нужно 0
Aleks1 (2002-04-15 05:38:00) [20]2 Sniffer (14.04.02 19:37)
Вот читаю я хэлп Д4:
UINT SetTimer(
HWND hWnd, // handle of window for timer messages
UINT nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // address of timer procedure
);
Parameters
nIDEvent
Specifies a nonzero timer identifier. If the hWnd parameter is NULL, this parameter is ignored.
А у тебя там ноль!?