На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

TMapPrint

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1 2 След.
RSS
TMapPrint
 
Здравствуйте господа разработчики !
Просьба прокомментировать ситуацию  с работающей компонентой, которая после обновления ГТК перестала работать (СКАЧАТЬ ПРИМЕР):


-------------
Ограничу радиус поиска.
Код
  Lib := LoadLibrary('gisprint.dll');  

Эта строчка хочет какую то реликвию vcl60.bpl.
---
П.С пока разработчики читают и разбираются, для простого обывателя подсказываю путь временного решения проблемы.
Откройте папку с ГИС Оператором 11 (ГИС Картой 2011) и скопируйте в Windows/System32 или каталог с Вашей программой 2 файла rtl60.bpl и vcl60.bpl
Изменено: KFF - 10.10.2013 10:42:29
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Цитата
KFF пишет:
Эта строчка хочет какую то реликвию vcl60.bpl.
Это не реликвия, а пакеты от Билдер/Дельфи версии 6 - рантайм и ядро видеокомпонентлайбрери, без которых собрана сама принт-библиотека GTK.
---
ЗЫ - в эпоху терабайтовых винчестеров пропадает смысл экономии на размерах исполняемых модулей. ИМХО. Собрал модуль со всем до кучи - и голова не болит.
 
Скачал пример. Для надежности проверки удалил все rtl60.bpl и vcl60.bpl (так что после восстановления delphi еле запустил). Вызов диалога работает без проблем. Проверял на библиотеках от 07.10.2013 и на более ранних (сентябрьских). Может у вас библиотека gisprint цепляется не из system32?
 
Цитата
Скачал пример
Андрей Владиславович, я понимаю Вашу позицию как руководителя НО просьба: не защищать сборщиков библиотек, которые забыли установить галочку "включать пакеты при сборке" в Билдере перед публикацией.
Что бы не быть голословным представляю чистый пример без "наворотов" (СКАЧАТЬ)
В папке единственная библиотека которая загружается по полному пути см.код ниже:
Код
procedure TForm1.Button1Click(Sender: TObject);
var sFileName : string;
    lib  : cardinal;
begin
  sFileName := ExtractFilePath(Application.Exename)+'GisPrint.dll';
  lib := LoadLibrary(PChar(sFileName));
  FreeLibrary(lib);
end;

В этом примере, надеюсь, не будет цеплятся "другая библиотека".

П.С. Я не в том возрасте, что-бы не уметь контролировать что и откуда у меня цепляется. К счастью, я очень хорошо научился оперировать Вашим ядром причём разными версиями одновременно на одном копьютере.
И ещё одно, сборщику который собирает gis*** библиотеки , настоятельно рекомендую одно из двоих :
- создать виртуальную чистую машину (без ядер и без ГТК) на которой проверять сборки И/ИЛИ
- по удалять личные настройки среды с операционной системы (в частности bpl с папки Windows\System32) используя те папки к которым они (bpl-ки) принадлежат. Например Builder\Bin
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Защитой сборщика никто не занимается и за слова отвечаю, пробовал сам ведь.
Кроме того, можно запустить Tdump на эту библиотеку и убедиться, что она не ссылается на vcl60.
На всякий случай ваш пример проверил еще на двух точно нулевых компьютерах (только что собрали и установили windows).
Результат - все работает.
Надо искать дополнительные факторы, влияющие на такой результат. Может подскажете где.
 
Может проблема с версии. например у меня версия ГисТулКит Фрее, которая собирается непонятно как (для меня)
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Библиотеки у них одинаковые. На вызов диалога это не влияет, только на момент открытия карты. А она открывается без вопросов. Чудеса какие-то.
 
Андрей Владиславович, я приготовил ролик и сейчас он будет тыт на форуме.
Думаю что проблема в следующем. Вы пользуетесь толи Буидлером 6 то ли делфи 6 и у Вас в папке Windwos\System32 есть эти два файла
В конце ролика я умышленно показал кое какое содержимое своей папки Windows/System32
Суть в том, что Делфи 7 которым я пользуюсь, не содержит в своём комплекте файлов с частью наименования "60", у него все файлы "70".
Получается следующая картина.
Я компилию у меня вылет из за отсутствия устаревших библиотек, а Вы компилируете у Вас всё в порядок потому что эти библиоткеи в Вашей среде базовые! Вы даже не сможете их оттуда убрать потому что Борланд не запустите без сбоя всех настроек....

Проблема заключает в то о чём писал Александр Выше. Ваши сборщики DLL (не компонентной части а именно DLL) при сборке данной билоитеки выставили параметры  без включения в основной код посему, DLL -пытается цепануть bpl библиотеку
Изменено: KFF - 10.10.2013 17:07:21
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Ролик грузится (1 МБ)
ССЫЛКА  => http://youtu.be/inCY_bWmeKE

Не тот глуп кто не знает, а тот, кто не знает где искать.
 
То что при сборке иногда не убираем флаг использования run time библиотек - бывало. Но сейчас проверили. Я написал каким способом. Повторюсь. Собираю на Delphi6 на одном компьютере. Несу dll Гис ядра, карту, exe на другой абсолютно новый компьютер. Работает.
Страницы: 1 2 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности