Текущий архив: 2002.12.02;
Скачать: CL | DM;
Вниз
Работа с IB из DLL Найти похожие ветки
← →
Kinda (2002-11-14 17:03) [0]Всем привет. Помогите разобраться в таком вопросе. Я хочу работать с IB из DLL для этого в DLL объявляю функцию:
Function MyIbLinc:double; stdcall;
var
IBD1: TIBDatabase;
IBT1: TIBTransaction;
IBQ1: TIBQuery;
begin
Try
IBD1.DatabaseName:="MyBase.gdb";
IBD1.DefaultTransaction:=IBT1;
IBD1.LoginPrompt:=False;
IBD1.Params.Add("USER_NAME=KINDA");
IBD1.Params.Add("PASSWORD=*****");
IBT1.DefaultDatabase:=IBD1;
IBQ1.Database:=IBD1;
IBQ1.Transaction:=IBT1;
IBQ1.SQL.Add("SELECT * FROM TP918");
IBD1.Connected:=True;
IBT1.Active:=True;
IBQ1.Open;
Result:=IBQ1.FieldByName("F12").AsFloat;
однако это не работает, подскажите выход.
← →
SaS13 (2002-11-14 17:18) [1]а смысл?
а что пишет?
← →
Kinda (2002-11-14 17:34) [2]Делфи при компиляции пишет че-то про инициализацию
IBD1,IBT1,IBQ1. При добавлении в начало программы
IBD1:=TIBDatabase.Create(nil);
IBT1:=TIBTransaction.Create(nil);
IBQ1:=TIBQuery.Create(nil);
сообщения исчезают все компилируется но при попытке использовать
функцию в VBA проекте пишет что произошла ошибка обращения к памяти по адресу... и т.д.
← →
Prooksius (2002-11-14 17:37) [3]В твоей функции должны создаваться объекты IBD1, IBT1, IBQ1 (<ClassName>.Create(<parent>)), указываться их свойства, работать с ними, а потом удаляться (<object>.Free). Почитай, как работать с объектами.
Как это ты, не создав объект, обращаешься к его свойствам?
← →
Kinda (2002-11-14 17:54) [4]А что
IBD1:=TIBDatabase.Create(nil);
это не создание объекта?
← →
asmith (2002-11-14 18:07) [5]Напиши программку-запускалку на Delphi и просто продебажь код библиотеки - найдешь ошибку.
← →
Alexandr (2002-11-15 07:35) [6]не суй меня, господи туда, где меня сроду не спрашивали.
Бегом читать литературу, а пом уже за компьютер.
Страницы: 1 вся ветка
Текущий архив: 2002.12.02;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c