Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Ошибка при чтении данных   Найти похожие ветки 

 
_alex_niv_ ©   (2005-08-23 12:11) [0]

Добрый день!
Народ помогите разобраться в чем дело.
У меня в dll-ке находиться функция считывающая из базы данные по запросу, она нормально работала около года, пока вчера на одном компе не стала выдавать такую ошибку:
“Exception EDBEnginError in module main.dll at 0006578E”.
причем на всех остальных компах она работает нормально, ошибка вылетает именно на этом.
Текст функции:

function ReadValPar(ANameObject : PChar;
                   ATypesSize : Word
                             ): Integer; stdcall;
var
  tblMainTable: TQuery;
  sqlString    : String;
begin
 Result := -1;
 sqlString:= "select ValObject FROM TablesSizeForm where TypeSize = :TypeSize and NameObject = :NameObject";

 tblMainTable := TQuery.Create(nil);
 try
   with tblMainTable do
   begin
     DatabaseName := StrPas(GetsExePathPc) + "SizeBds";
     Close;
     SQL.Clear;
     SQL.Add (sqlString);
     Params[0].DataType:= ftFloat;
     Params[1].DataType:= ftString;
     Prepare;
     Params[0].Value := ATypesSize;
     Params[1].Value := StrPas(ANameObject);
     Open;
     if Fields [0].AsString <> "" then
     begin
         Result:= Fields [0].AsInteger;
     end
     else
       Result:= -2;
     Close;
   end;
 finally
   tblMainTable.Free;
 end;
end;


 
Desdechado ©   (2005-08-23 13:53) [1]

1. что сделали с тем компом?
2. ошибка БДЕ-шная, может, его снесли?
3. протрассируй именно на нем


 
_alex_niv_ ©   (2005-08-23 14:23) [2]

БДЕ я уже пробовал переустанавливать несколько раз.
Последний раз установил туда полностью Delphi
И еще
Когда я ставлю в мою функцию вывод сообщения
Showmessage
то ошибка не появляется???


 
sniknik ©   (2005-08-23 14:26) [3]

> то ошибка не появляется???
повод спросить себя "а там ли ставлю?".

пройдись трассировщиком внутри dll, раз уж дельфи поставил.


 
_alex_niv_ ©   (2005-08-23 14:34) [4]

> sniknik ©   (23.08.05 14:26) [3]

> повод спросить себя "а там ли ставлю?".
Дело в том что BDE устанавливается вместе с программой InstallShield-ом
мы с этой прогой работаем постоянно и уже устаналивали десятки раз на разные машины, а вот такая ошибка вылетела первый раз

> пройдись трассировщиком внутри dll, раз уж дельфи поставил

что ты понимаешь под трассировщиком - стандартный Делфийский отладчик
пробовал - ошибка вылетает при попытке выполнения скрипта методом
Open;


 
Desdechado ©   (2005-08-23 15:40) [5]

и текст ЭТОЙ ошибки, под отладчиком при Open


 
_alex_niv_ ©   (2005-08-23 16:47) [6]

Текст ошибки:
Invalid directory ...
В свойстве
DatabaseName := StrPas(GetsExePathPc) + "SizeBds";
Перед "SizeBds" затираются 3 буквы пути
С чем это может быть связано?


 
sniknik ©   (2005-08-23 17:08) [7]

> С чем это может быть связано?
с реализацией/ошибками в функции GetsExePathPc ???

с происками империалистов которые в путь в конец три символа бакспейса внесли ???

у тебя же все перед глазами, неужели нельзя выделить на какой стадии глюк?


 
_alex_niv_ ©   (2005-08-23 17:37) [8]

> у тебя же все перед глазами, неужели нельзя выделить на какой > стадии глюк?
В том то и дело не могу найти где ошибка
От куда она берется
И почему уже год работало на нескольких машинах - ее ни разу не было, а тут вдруг появилась.

реализация функции GetsExePathPc:
function GetsExePathPc: PChar;
begin
 Result:= PChar(ExtractFilePath(paramstr(0)));
end;
Я сделал переприсвоение через строковую переменную - ошибка перестала появляться, но где гарантия что завтра она снова не появится.



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

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
14-1126867894
Вопрошающий
2005-09-16 14:51
2005.10.09
Задачка по бухгалтерии


4-1123692913
Bios_
2005-08-10 20:55
2005.10.09
Удаление пустого каталога


2-1124970321
grigory
2005-08-25 15:45
2005.10.09
Побайтное копирование файла!


3-1125391402
Term
2005-08-30 12:43
2005.10.09
View для FB 1.5


2-1125316242
Dust
2005-08-29 15:50
2005.10.09
весьма хитраяситуация... именно так, без пробелов