Перейти к содержанию
Fire Monkey от А до Я
  • 0

Крэш приложения в Windows 7


Morfi

Вопрос

Среда XE8 стоит на Win 8,1. Приложение запускается.

 

Переношу приложение на клиентскую машину с Win 7. Запускаю - вылетает такая ошибка:

post-94-0-35328500-1437591647.jpg

 

А после, это:

post-94-0-66537300-1437592006.jpg

 

Привожу код, который выполняется при начале отображения формы:

procedure TForm1.FormShow(Sender: TObject);
var
  StrTemp: TStrings;
begin
try
  StrTemp := TStringList.Create;
  DM1.FDConnection1.Params.Database := ExtractFileDir(ParamStr(0))+'\data\flatcom.db';

  DM1.FDConnection1.Connected := True;
  DM1.FDTable1.Active := true;

  DM1.GetAdmins(StrTemp);
  self.edtAdmin.Items := StrTemp;
  edtAdmin.Items.Count;

  StrTemp.Clear;
  DM1.GetNationals(StrTemp);
  self.edtNationality.Items := StrTemp;

  StrTemp.Clear;
  DM1.GetRoomsType(StrTemp);
  self.edtRoomType.Items := StrTemp;

  StrTemp.Clear;
  DM1.GetCalcs(StrTemp);
  self.edtCalc.Items := StrTemp;

  StrTemp.Free;

  self.dtdtContract.Date := Date;

  Self.edtNumContract.SetFocus;
  Self.edtNumContract.SelectAll;
except
  ShowMessage('Файл базы данных не найден. Обратитесь к разработчику.');
  Self.Close;
end;
end;

Ошибка, явно в этом месте:

  DM1.FDConnection1.Params.Database := ExtractFileDir(ParamStr(0))+'\data\flatcom.db';

  DM1.FDConnection1.Connected := True;

Если можете, скажите, в чем может быть проблема?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

надо бросить на форму еще пару компонентов, что то там ...wait... и ...phys...

sqlite драйвера нет. dll

Ага, согласен, в папочку с приложением положите dll к доступу sqlite (скачайте с официального сайта). Скорее всего он есть в системном каталоге 8 винды, но нет в 7

Ссылка на комментарий
  • 0

Насколько я знаю, когда используешь FireDAC никаких dll не нужно. В том-то его и прелесть. Судя по ошибке, программа не может открыть базу данных. У меня похожее было как-то. Скорее всего либо файл не на месте, либо он кривой, либо находится в папке, в которой винда не разрешает вносить изменения в процессе работы (Program Files, например).

Ссылка на комментарий
  • 0

неправда, dll нужны

http://docwiki.embarcadero.com/RADStudio/XE8/en/Connect_to_SQLite_database_(FireDAC)

 

FireDAC supports two SQLite library linking modes:

  • Static linking -- the following client libraries are statically linked into the application:
    • Win32 - x86 sqlite3_x86.obj
    • Win64 - x64 sqlite3_x64.obj
    • iOSDevice32 - libsqlite.a
    • iOSDevice64 - libsqlite.a
    • Android - libsqlite.a

FireDAC provides SQLite binaries v 3.8.7.4. That is the default mode for the specified platforms, no additional files or actions are required. Note that the SQLite database encryption is supported only for static linking.

  • Dynamic linking -- the following client libraries must be available in order to open a SQLite database:
    • Win32 - x86 SQLITE3.DLL
    • Win64 - x64 SQLITE3.DLL
    • OS X - libsqlite3.dylib
    • iOSDevice32 - libsqlite3.dylib
    • iOSDevice64 - libsqlite3.dylib
    • Android - libsqlite.so
Изменено пользователем AndreyS
Ссылка на комментарий
  • 0

Глянул, согласен, не нужны  dll. Использую SQLite Data Access Components, поэтому не знал и уж тем более не испытываю проблем с коннектом на любых платформ, а FireDAC не дает Static linking на платформе osX, а она мне нужна.

Ссылка на комментарий
  • 0

сорри, не совсем точно выразился, не ко всем серверам FireDac цепляется без dll

например для MySQL, Firebird и т.п. они точно нужны

Вот по этой причине я и использую компоненты от Devart

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...