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

Вниз

Как присвоить обработчик динамически созданому компоненту   Найти похожие ветки 

 
Дракоша   (2004-01-29 20:32) [0]

Помогите пожалуйста. Создаю Query динамически, хочу на afterscroll приделать свой обработчик. Аднака не получается. Как это толково сделать?


 
Anatoly Podgoretsky ©   (2004-01-29 20:38) [1]

С помощью операции присвоения.


 
Дракоша   (2004-01-29 20:42) [2]

пробывал так не работает
procedure temp(T:TDataset);

var
D: TD;
Q1,Q2,Q3,Q4:TQuery;

implementation

uses Unit1;

{$R *.DFM}
procedure TD.temp(T:TDataset);
Begin
ShowMessage("sdfsds");
end;

procedure TD.QuerySelectStruct;
Begin
if Q1=nil then Q1:=TQuery.Create(Self);
Q1.DatabaseName:=FMain.DatabaseName;
Q1.SQL.Clear;
Q1.SQL.Add("SELECT Struct_Name FROM Spr_struct WHERE ID_Zavod = "+D.GetListZavodPoPred.FieldByName("ID_ZAVOD").AsString);
Q1.Active:=True;
if DS1.DataSet<>Q1 then DS1.DataSet:=Q1;
Q1.AfterScroll:=TD.Temp;


 
Sergey_Masloff   (2004-01-29 20:46) [3]

Query.OnAfterScroll := MyAfterScrollFunc ?


 
Sergey_Masloff   (2004-01-29 20:48) [4]

Дракоша (29.01.04 20:42) [2]
у тебя TD это что?
Присваивать можно только указатели на метод - процедурные указатели нельзя.


 
Дракоша   (2004-01-29 20:48) [5]

В чем вопрос?


 
Дракоша   (2004-01-29 20:49) [6]

Ясно. а как же тогда сделать?


 
Sergey_Masloff   (2004-01-29 20:50) [7]

ну вот так работает же

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls;

type
TForm1 = class(TForm)
Query1: TQuery;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure MyAfterScrollFunc(DataSet: TDataSet);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.AfterScroll := MyAfterScrollFunc;
end;

procedure TForm1.MyAfterScrollFunc(DataSet: TDataSet);
begin
DoSomething();
end;

end.


 
Дракоша   (2004-01-29 20:50) [8]

TD - это DataModule


 
Дракоша   (2004-01-29 20:52) [9]

Так у меня так и написано!


 
Дракоша   (2004-01-29 20:55) [10]

Datamodule.pas(65): Incompatible types: "TDataSetNotifyEvent" and "Procedure"


 
Sergey_Masloff   (2004-01-29 20:55) [11]

ну значит и у тебя работает ;-)



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
8-29477
AndreySoft
2003-10-07 11:30
2004.02.10
Сжатие звуковых сигналов


1-29416
Alex__
2004-01-31 18:49
2004.02.10
MDI приложение


14-29530
Soft
2004-01-20 00:59
2004.02.10
Пример технического задания на программное обеспечение.


4-29673
Akim2
2003-12-03 21:18
2004.02.10
Послать/Принять сообщение в/из Service


1-29373
AntonSh
2004-01-29 10:50
2004.02.10
Работа с файлами