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

Bio HaZaRD

Пользователи
  • Постов

    13
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Bio HaZaRD

  1. В 19.5.2016 в 16:49, ivadimos сказал:
    
    Left := screen.Displays[1].BoundsRect.Left;

    Скажите пожалуйста, как вывести вторую форму на второй монитор, на c++ builder 10.1?

    я пытался передать в массив Displays целое число (например 1), но тот ожидает TDisplay.

    Заранее спасибо за помощь.

  2. Добрый день!

    Скажите пожалуйста как вывести форму на второй монитор в C++ Builder 10.1 (FM). Стоит Win10x64.

    Раньше использовал 

    Form2->MakeFullyVisible(Screen->Monitors[1]);
    Form2->Show();

    Но это больше не работает.

    И как получить список всех мониторов, чтобы можно было выбирать, куда на каком мониторе показать форму?

    Заранее спасибо!

  3. 52 минуты назад, Rusland сказал:

    Прикладывайте тестовый проект - так проще разбираться в чем у вас проблема

    Спасибо вам за ваше сообщение, оно подало мне отличную идею, которая наконец решила мою проблему.

     

    Ещё раз моя проблема:
    FDConnection не мог подключится к БД на чужом ПК с любово места на HDD. Эта проблема заключалась в том, что в компоненте, кинутой на форму, я указывал статический путь к базе данных.

    Решение:
    Удалить путь к файлу в компонете FDConnection и программно указать его, например в методе формы FormShow или FormCreate.

     

    Ещё раз всем спасибо за понимание и поддержку!
    С уважением Владимир

    test.zip

  4. 4 часа назад, Andrey Efimov сказал:

    Читайте правила форума. Один вопрос - одна тема.

    Вас понял.

     

    В общем прога запускается, но к сожалению проблема с БД не решина.

    Компоненту FDConnect в свойствах был присвоен путь к базе данных. Соответственно тот путь, который указан в свойствах Компонента статичен и не будет совпадать с путём, где будет лежать прога на другом ПК. Я же хочу чтобы путь определялся динамически.

    Методом тыка понял, что FireDac не может программно присвоить путь к БД объекту TFDConnect *Conn.

    void __fastcall TMainForm::FormShow(TObject *Sender) {
    	// TFDConnection *Conn
    	Conn->DriverName = "SQLite";
    	Conn->Params->Values['Database'] = ExtractFilePath(Application->ExeName) +
    		"psalms.db";
    	Conn->Open();
    }

    То-есть после запуска проги не по пути, по которому я указал в компонете, прога выдаёт ошибку: База данных не найдена.

     

    Прошу помочь понять мне, как динамически присвоить путь к БД.

    Заранее благодарю.

  5. Дамы и Господа,

    в общем не знаю из-за чего, но после переустановки винды на билд 15002 и установки Rad Studio, скачанной с сайта embarcadero, всё скомпелировалось и заработало.

    Итак ход разработки проги:
    создав интерфейс, кинул FDConnection, FDQuery и настроил их. После закинул на ПК без IDE. Убидившись в том, что в System32 и SysWOW64 не лежит sqlite3.dll, запустил прогу и.... всё заработало.

    Мой вывод по поводу sqlite: C++ Builder впаивает sqlite в exe, тем самым никакие DLL с прогой ложить не нужно, а вот БД надо.

     

    Ещё один вопрос про FireDac: как программно указать относительный путь к БД (sqlite) для компонента FDConnection?

     

    Всех благодарю за помощь и содействие.

    Основная проблема решена! ))

  6. 2 часа назад, Vitaldj сказал:

    надо рядом с exe приложения

    Я ложил с exe.

    35 минут назад, enatechno сказал:

    Где создается/размещается файл базы данных? Проблема может быть в правах доступа. Попробуйте запустить свою программу на другом ПК с правами администратора. 

    База находится в папке рядом с exe, а exe – на D:/.... Я запускал на другом пк с правами и без прав админа.

     

    2 часа назад, rareMax сказал:

    Один раз показываю.

    
    private
      FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink; //компонент, кинь на форму
    
    ...........
    
    
    Begin
      FDPhysSQLiteDriverLink1 := TFDPhysSQLiteDriverLink.Create(self); // либо создай в ранТайме
      FDPhysSQLiteDriverLink1.VendorLib := 'full path to you sqlite.dll'; // укажи путь к библиотеке

     

    Также пробовал бросать этот компонент – без результатно.

     

     

    Завтра ещё раз сделаю по вашим советам на чистой винде

  7. 6 минут назад, Vitaldj сказал:

    Исправят что? Вы сами должны рядом с экзешником положить dll от sqlite!

    Я клал 32 и 64 бит. Переименовывал в sqlite.dll, sqlite3.dll. Клал sqlite3.dll в папку System32 (здесь sqlite3 32 бит) и SysWOW64 (sqlite3 64 бит). Прога даже не показывалась. А когда я удалял компоненты FireDac с формы в билдере, то приложение запускалось без проблем

  8. Запиленное на Qt работает на других ПК. В конце концов, с приложением лежат все DLL. Приложение весит ~50 Мб. Это не особо удобно, учитывая тот факт, что в приложении все-лишь пару кнопок и текстовых полей.

    В идеале хотелось бы вообще нативное приложение построить, без всяких прибомбасов))

  9. Всем привет!

    Пишу проект на основе FireDac (TFDConnection, TFDQuery) + SQLite. На ПК с IDE программа запускается, а на других - нет. На ПК, без IDE, стоят все обновы.

    Помогите разобраться, где проблема или посоветуйте другой компонент, который поддерживает SQLite. Заранее спасибо!

     

    Примечания к файлу:

    Windows-Problemberichtserfassung = Windows Problem Reporting

    problem.png

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