Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с IB из DLL [D5, D6, IB5.x, IB6.x]


Kinda ©   (2002-11-14 17:03:00) 

Всем привет. Помогите разобраться в таком вопросе. Я хочу работать с 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;

однако это не работает, подскажите выход.


Alexandr   (2002-11-15 07:35:00) [1]

не суй меня, господи туда, где меня сроду не спрашивали.
Бегом читать литературу, а пом уже за компьютер.


asmith   (2002-11-14 18:07:00) [2]

Напиши программку-запускалку на Delphi и просто продебажь код библиотеки - найдешь ошибку.


Kinda   (2002-11-14 17:54:00) [3]

А что
IBD1:=TIBDatabase.Create(nil);
это не создание объекта?


Prooksius   (2002-11-14 17:37:00) [4]

В твоей функции должны создаваться объекты IBD1, IBT1, IBQ1 (<ClassName>.Create(<parent>)), указываться их свойства, работать с ними, а потом удаляться (<object>.Free). Почитай, как работать с объектами.
Как это ты, не создав объект, обращаешься к его свойствам?


Kinda   (2002-11-14 17:34:00) [5]

Делфи при компиляции пишет че-то про инициализацию
IBD1,IBT1,IBQ1. При добавлении в начало программы
IBD1:=TIBDatabase.Create(nil);
IBT1:=TIBTransaction.Create(nil);
IBQ1:=TIBQuery.Create(nil);
сообщения исчезают все компилируется но при попытке использовать
функцию в VBA проекте пишет что произошла ошибка обращения к памяти по адресу... и т.д.


SaS13   (2002-11-14 17:18:00) [6]

а смысл?
а что пишет?


Наверх

Титульная страница Поиск, карта сайта Написать письмо