![]() |
|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
![]() Ну да. Лнл же тебе пишет - хочет метод класса. Можно, например, создать фэйковый класс только с этим методом и его передавать в обработчик.
|