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

Вниз

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

 
_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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.02 c
6-1118742612
Norny
2005-06-14 13:50
2005.10.09
Подслушивание сокетов


2-1124826479
Агат
2005-08-23 23:47
2005.10.09
Работа с текстовым файлом


14-1127196479
_lbp
2005-09-20 10:07
2005.10.09
Структура таблицы


14-1126453651
Fin
2005-09-11 19:47
2005.10.09
Литература про Mac OS X.


3-1124864767
Jeka
2005-08-24 10:26
2005.10.09
бд через инет..





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский