Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Lazarus - OpenSource Delphi

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

Daniyar91

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А есть возможность не пересабирать Lazarus? например, как-то сделать из покетов простые модули?

Всего записей: 425 | Зарегистр. 30-08-2011 | Отправлено: 16:44 29-02-2016
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Daniyar91
Думаю можно указать в настройках проекта, где искать дополнительные модули. Они не будут частью пакета, и не будут частью самого проекта, но будут нормально подхватываться во время компиляции апликухи. Только в этом случае компоненты из этих модулей не будут видны на панели компонентов.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 17:38 29-02-2016
Egor2020

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как в Lazarus 2.0.4 установить пакеты компонентов в формате ZIP без подключения к Интернету (при условии, что эти пакеты заранее скачаны через диалоговое окно "Сетевой диспетчер пакетов")? Пробовал скачать пакеты в отдельную папку и отключиться от Интернета, но на экране выскакивает ошибка "Невозможно загрузить список пакетов. Сообщение об ошибке: Host name resolution for packages.lazarus-ide.org failed", а Lazarus отказывается видеть скачанные пакеты. Заранее спасибо.

Всего записей: 1726 | Зарегистр. 01-03-2020 | Отправлено: 07:10 02-12-2020 | Исправлено: Egor2020, 07:12 02-12-2020
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Egor2020
В архиве ведь наверняка lpk-файлики лежат? Открываете, для рантайм пакетов делаете Compile, а для дизайн пакетов Use + Install, потом Rebuild Lazarus. Ну и еще возможно придется прописать пути к файлам пакета.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:33 07-12-2020
hoop2011

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Возникла проблема при импорте функции из dll.

Код:
 
...
type
  TFn = function(x: double): double; stdcall;
 
var
  DllHandle: THandle;
  DllName: string;
  Fn2: TFn;
begin
    DllName := 'полный путь к dll\project2.dll';
    DllHandle := LoadLibrary(DllName);
    if DllHandle > 0 then
    begin
      Fn2 := TFn(GetProcAddress(DllHandle, 'Fn'));
      if Assigned(Fn2) then
      begin
...
 

Так работает.
 
Но я хочу получать путь к dll при помощи OpenDialog

Код:
 
...
type
  TFn = function(x: double): double; stdcall;
 
var
  DllHandle: THandle;
  DllName: string;
  Fn2: TFn;
//
  i, Count: integer;
  X, X1, X2, dX: double;
begin
  if OpenDialog1.Execute then
  begin
    DllName := OpenDialog1.FileName;
    DllHandle := LoadLibrary(DllName);
    if DllHandle > 0 then
    begin
      Fn2 := TFn(GetProcAddress(DllHandle, 'Fn')); //Возвращает пустой указатель
      if Assigned(Fn2) then  
      begin
...
 

так не работает, Fn2 пустой указатель.
 
Подскажите как исправить. Может обращаюсь не в ту тему, но ничего более подходящего на форуме не нашел. Lazarus 2.0.12

Всего записей: 155 | Зарегистр. 29-09-2011 | Отправлено: 18:40 18-03-2021 | Исправлено: hoop2011, 18:41 18-03-2021
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hoop2011
 
такого не может быть никогда :)
единственное, что можно предположить, глядя на куски твоего кода, это то что во втором случае
DllName := OpenDialog1.FileName;
что-то творится с DllName...
они этим собссно и отличаются -- жёсткая константа и динамическая стр...
но ты большой мальчик :), проверял, да?
 
Добавлено:
 
последний слеш, пробел на конце, дурацкие русские имена -- букет проблем :)

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 18:56 18-03-2021
hoop2011

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Код я конечно проверял. Сам удивляюсь. Но самое смешное то, что я закрыл лазарус и сделал то же самое в делфи 10.3.3 - все работает. После этого открыл лазарус и ничего не меняя в файлах запустил программу - все заработало.
 
Кстати у меня как-то было так (давно): два одинаковых компьютера и одинаковых лазаруса, на одном программа компилируется и запускается на втором эта же программа даже не компилируется. Правда это было давно, версию лазаруса уже не помню, но кажется <= 1.0.
 
Что касается пути, то имелось ввиду, что и в первом и во втором случае использовался полный путь к библиотеке, который, правда, содержит и пробелы и русские буквы, но заработало.
 
Почему не работало и почему заработало - сам теряюсь в загадках.

Всего записей: 155 | Зарегистр. 29-09-2011 | Отправлено: 19:26 18-03-2021 | Исправлено: hoop2011, 19:30 18-03-2021
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hoop2011

Цитата:
Почему не работало и почему заработало - сам теряюсь в загадках.
я так к этому отношусь...
в моей предметной области если сможешь решить такую проблему в разумные сроки -- реши,
нет -- вместе посмеёмся...
в противном же случае, управляя ядрёным реактором, например, не решишь -- вообще смеяться некому будет...
 
а длли я всё-таки предпочитаю юзать статически, особенно если сам их писал...

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 19:42 18-03-2021 | Исправлено: akaGM, 19:43 18-03-2021
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, всех приветствую!
Помогите разобраться с проблемой. Lazarus v. 2.0.12
Есть база данных SQLite3. При попытке подключить её в дизайнтайме сообщает об ошибке: "Can not load SQLite client library "sqlite3.dll". Check your installation."  
Библиотека sqlite3.dll в папке проектом. Как ее "загрузить"? Без подключения невозможно настроить грид и другие связанные компоненты... в рунтайме всё выполняется!

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 05:01 07-08-2021 | Исправлено: EugeneBoss3, 05:02 07-08-2021
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneBoss3
Поставьте Process Explorer, и зайдите в свойства процеса Лазаруса. На закладке Image гляньте Current directory, а на закладке Environment - Path. Если ни там, ни там нету папки с проектом, то Лазарус не увидит вашу dll-ку.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:29 07-08-2021
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Process Explorer у меня русский может закладки Image, Current directory и  Environment - Path по другому называются т.к. я их не нашёл...
В каталоге ...System32\ есть winsqlite3.dll но это не sqlite3.dll ?
Возможно следует скопировать sqlite3.dll в этот каталог, или как-то в реестре прописать?
Вопрос "Как ее "загрузить"? " остаётся открытым

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 05:43 08-08-2021
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneBoss3
Скопируйте в папку, где лежит exe-файл самого Лазаруса.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 13:24 08-08-2021
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Скопировал sqlite3.dll в каталог Лазаруса.
Спасибо, помогло

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 04:01 11-08-2021
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, всех приветствую!
Версия Lazarus 2.2.0RC1-fpc-3.2.2-win64
Кто устанавливал UniDAC 8.4.2 помогите разобраться с установкой пакета!
Пытался установить, как в ReadmeSrc.html написано, но пакеты провайдеров не могу установить:
liteprovider10.lpk, dbfprovider10.lpk перекомпилляция Lazarus завершается:
lazarus.pp(167,1) Error: Can't open object file: sqlite3fpc64.o
lazarus.pp(167,1) Error: Can't open object file: libgcc.a
lazarus.pp(167,1) Error: Can't open object file: libmsvcrt.a
lazarus.pp(167,1) Error: Can't open object file: libkernel32.a
 

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 01:54 04-09-2021
OtherSide2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пути к либам указывай

Всего записей: 16 | Зарегистр. 07-03-2012 | Отправлено: 20:49 05-02-2023
Simonthe

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли у кого по-старой памяти опыт установки KOL-CE ?
И насколько это актуально при разработке для WM6?

Всего записей: 45 | Зарегистр. 17-12-2009 | Отправлено: 10:19 18-03-2023 | Исправлено: Simonthe, 10:30 18-03-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Lazarus - OpenSource Delphi


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru