Главная страница
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.024 c
8-1116437553
aleman
2005-05-18 21:32
2005.10.09
Кусочки в память+play


2-1125595328
фелина
2005-09-01 21:22
2005.10.09
ColorDiloag


2-1125436176
SarDoX
2005-08-31 01:09
2005.10.09
Выделение в Stringgrid 2


1-1126877611
Новичок1
2005-09-16 17:33
2005.10.09
Народ помогите замучился искать , исправил что-то в свойствах


14-1127129758
Info
2005-09-19 15:35
2005.10.09
БФТ