Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2013, 23:02   #1
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию Ошибка DLL delphi

Проблема решена. В строке соединения были лишние данные. Поэтому и выходила ошибка


Переписываю дипломку с использованием dll. Загоняю все функции и процедуры в dll. И на первой же вылезла ошибка.
Изначальный код
Код:
Function TTest.ReadQA(clmn: Integer): String;
Begin
  Try
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT * FROM ' + _TestVar + ' WHERE count=' + IntToStr(ln));
    ADOQuery1.Open;
    Result := ADOQuery1.Fields[clmn].AsString;
  Except
    on E : Exception do
     begin
       ShowMessage('Exception class name = '+E.ClassName + '; Exception message = '+E.Message);
     end;
  End;
End;
В dll
Код:
Function ReadDB(Table: String; Column, Line: Integer): String;
Begin
  Try
    Query.Close;
    ShowMessage('1');
    Query.SQL.Clear;
    ShowMessage('2');
    Query.SQL.Add('SELECT * FROM ПОКС WHERE count=' + '6');
    ShowMessage('3');
    Query.Open;
    ShowMessage('4');
    Result := Query.Fields[2].AsString;
  Except
       Result := 'Ашыпка'
  End;
End;
И на строке Result := Query.Fields[2].AsString; вылетает ошибка. Из-за чего она может появиться?
Изображения
Тип файла: png Безымянный.png (17.7 Кб, 29 просмотров)

Последний раз редактировалось hemn6vyr; 12.03.2013 в 00:53.
hemn6vyr вне форума Ответить с цитированием
Старый 12.03.2013, 00:05   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Ну возможно филда под номером 2 нет, нет результата в запросе...


P.S> не называйте таблицы на русском языке, делайте это на англ
Dozent вне форума Ответить с цитированием
Старый 12.03.2013, 06:07   #3
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

стринги жмут однозначна...
ты читал длинный текст который выводится в новом проекте dll?
создай новый проект dll и читай
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 12.03.2013, 08:09   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Версия Delphi какая? Если не юникодная, то строки между программой и DLL передавайте как WideString или UnicodeString
FaTaL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при загрузки названий компонентов delphi из DLL kostya_29 Общие вопросы Delphi 7 24.08.2011 08:18
BORdbk70.dll ошибка grom333 Общие вопросы Delphi 5 24.04.2011 14:56
Delphi: ошибка "Интерфейс не поддерживается" (mstscax.dll) kiber_punk Общие вопросы Delphi 8 09.01.2011 13:25
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36