![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Хочу сделать dll-ку позволяющую выполнять скрипты для базы данных
Компонент IBscript Этот компонент имеет ряд событий которые на обычной форме(при двойном клике) выглядят примерно так : Код:
procedure TForm1.IBScript1ExecuteError(Sender: TObject; Error,
SQLText: String; LineIndex: Integer; var Ignore: Boolean);
begin
MyTexterror := SQLText; //какой то мой код
Ignore := MyFlIgnore;
//.....
end;Делаю как положено : Код:
var flerr : bool;
IDB : TIBDatabase;
TR : TIBTransaction;
SC : TIBScript;
.......
IDB := TIBDatabase.Create(nil);
TR := TIBTransaction.Create(nil);
SC := TIBScript.Create(nil);
DB.Connected := false;
DB.DatabaseName := FullDbPath;
DB.DefaultTransaction := TR;
и.т.д.....
TR.Active := false;
TR.DefaultDatabase := IDB;
и.т.д.....
SC.AutoDDL := (Avtoddl <> 0);
SC.Database := IDB;
SC.Transaction := TR;
SC.Script.Text := textscript;
SC.Terminator := sterm;
SC.OnExecuteError := ???????????????????Как создать и прописать код в обработчик события ? Самое интересное что если это делать на форме то все работает, т.е если прописать процедуру myproc вписать в нее свой код и тупо присвоить ее обработчику. Собственно такая проблема возникает при создании любого обработчика любого компонента где есть переменные, к которым нужно обратится Подскажите кто знает. Спасибо. |
|
#2
|
|||
|
|||
|
Так и писать:
Код:
SC.OnExecuteError := IBScript1ExecuteError; |
|
#3
|
|||
|
|||
|
а свой код куда вставлять???
|
|
#4
|
|||
|
|||
|
Внутрь вот той процки, имя которой ты присваиваешь.
|
|
#5
|
|||
|
|||
|
так ведь не катит как если бы на обычной форме
пишет несовместимость типов: method pointer and regular procedure на форме все бы работало(и работает) |
|
#6
|
|||
|
|||
|
Ну да. Лнл же тебе пишет - хочет метод класса. Можно, например, создать фэйковый класс только с этим методом и его передавать в обработчик.
|