Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-4436
Tano
2002-11-18 02:20
2002.12.02
Что такое Самоадресуемая запись?


3-4187
Semu
2002-11-13 11:05
2002.12.02
DBGrid = Memo ?


6-4542
SemFLY
2002-10-05 22:22
2002.12.02
В чём ошибка... :-(


1-4442
SONY
2002-11-20 08:11
2002.12.02
Календарь на HTML


1-4299
----
2002-11-19 18:51
2002.12.02
Коннект к запущенному СОМ-обьекту




   Наверх