Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

D7 и IB6.5 в DLL   Найти похожие ветки 

 
AlexandrPV ©   (2004-07-22 15:09) [0]

Кто ме объяснит проблему. У меня есть основная программа в которой находится подключение к базе, а в DLL написаны формы и запросы, так вот когда я использую одновремено две DLL, то происходит ошибка, что-то вроде переобъявления курсора.


 
Desdechado ©   (2004-07-22 19:04) [1]

а ты не хочешь хотя бы показать, как ты вызываешь DLL, что передаешь в нее
и расскажи, что ты понимаешь под курсором, и какая ошибка - полный текст, а не твои догадки о ней


 
AlexandrPV ©   (2004-07-23 12:15) [2]

Ошибка "Dynamic SQL Error|SQL error code = -502|Declared cursor alredy exists."
Смысл в том, что если грузить библиотеки не вместе, то ошибки нет.
В главной програме я подключаю библиотеку следующим образом:
 Инициализация:
 HandleWares:=LoadLibrary("WFReestrWares.dll");
 if HandleWares<>0 then
   begin
     @FGet:=GetProcAddress(HandleWares,"GetInterface");
     Wares:=FGet(Application);
     if Wares<>nil then Wares.Base:=IBDatabase1;
   end;
 Показ формы:
 Wares.Show;
 Так же и другая форма вызывается.
В библиотеке:
function GetInterface(App:TApplication):TFormWares;
 begin
   if not Assigned(DLLApp) then
     begin
       DLLApp:=Application;
     end;
   Application:=App;
   Result:=TFormWares.Create(App);
 end;
procedure TFormWares.FormShow(Sender: TObject);
begin
 IBQuery1:=TIBQuery.Create(Self);
 IBQuery1.SQL.Append("select * from wares");
 IBQuery1.Database:=FBase;
 Trans:=TIBTransaction.Create(Self);
 Trans.AddDatabase(FBase);
 IBQuery1.Transaction:=Trans;
 Trans.StartTransaction;
 IBQuery1.Open;
end;
procedure TFormScale.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 if Trans.Active then Trans.Commit;
 IBQuery1.Destroy;
 Trans.Destroy;
end;

procedure MyDLLProc(Reason:integer);
begin
 if Reason = DLL_PROCESS_DETACH then
  if Assigned(DLLApp) then Application:=DLLApp;
end;

begin
 DLLProc:=@MyDLLProc;
end.

Вот вобщем и все.


 
Desdechado ©   (2004-07-24 20:29) [3]

1. Не вижу объявления переменных IBQuery1 и Trans. Они локальные, глобальные или свойства формы?
2. Я так и не понял - формы в ОДНОЙ ДЛЛ или в разных?
3. В другой форме SQL-текст такой же?
4. Destroy вызывать напрямую - дурной тон, читай доку.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.037 c
3-1090902152
Jiny
2004-07-27 08:22
2004.08.22
Как перерисовать значение по формуле из табл. в DBgrid ?


1-1091965649
Relaxxx
2004-08-08 15:47
2004.08.22
Выделение итемса TreeView по его значеню в Data


4-1089368759
pavel_guzhanov
2004-07-09 14:25
2004.08.22
Чтение данных из компорта


3-1090922487
dimds
2004-07-27 14:01
2004.08.22
параметры типа битмап


14-1091535313
MGWarlock
2004-08-03 16:15
2004.08.22
I need help! Помогите поставить WinXP.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский