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

Изменить параметры проекции

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 5 6 След.
RSS
Изменить параметры проекции, Изменить параметры проекции
 
Цитата
Oleg Belenkov написал:
Сообщение с запросом на сохранение отображается, если Вы нажали Выход вместо Сохранить.

Сообщение "Uzor\Ошибка вызова ..." отсутствует в исходных текстах библиотек GIS ToolKit.
Попробуйте найти это сообщение в Ваших исходных текстах.
Разобрался с 'Ошибка вызова... Спасибо
 
Цитата
Сергей Викторович написал:

По второму вопросу. В исходных текстах прикладной программы нет "Ошибка вызова... " Это точно в GIS ToolKit Проверьте еще раз, пожалуйста.
...вопрос очень важный
Посмотрите мой ответ Вам выше. GIS ToolKit тут не причем.

Цитата
Сергей Викторович написал:
По первому вопросу. Я написал порядок действий пользователя. Вначале после сделанных изменений смены проекции карты через XML была нажата кнопка Сохранить. Транзакция была выполнена успешна. При нажатии кнопки Выход, выдано сообщение с приглашением Сохранить изменные данные. Я уже их сохранил, зачем еще раз выдавать это сообщение.
По важности решения проблем: второй вопрос очень важный, первый по мере возможности.
Посмотрим по мере возможности.
 
Скриншот по повторному вопросу о сохранении изменений  
screensort145.PNG (25.97 КБ)
 

Еще один момент не понятен.
Вроде в коде программы явно указан ini файл

procedure Tform_main.N20Click(Sender: TObject);
var
f : TTASKPARM;
aMap : HMAP ;
begin
if (not mvMap.Active)
then exit;

FillChar(f, sizeof(f), 0);
f.Language  := cML_RUSSIAN;
f.PathShell := GTKPChar(GTKString(ExtractFilePath(Application.ExeName)));
f.IniName   := GTKPChar(GTKString(ExtractFilePath(Application.ExeName)+'.ini'));
aMap := mvMap.MapHandle;

MapPaspEdit(aMap,GTKPChar(GTKString('Map')), @f);
end;

А по факту, нижеприведенная запись автоматически сделана в файле

.ini

т.е. без имени.

[MAPPASP]
Left=244
Top=203
Width=791
Height=314
CurrentXml=D:\UZOR\Proj79\МСК Субъектов РФ.xml
CountFile=1

Запись сделана хорошая, но почему она сделана не в файле

GTKPChar(GTKString(ExtractFilePath(Application.ExeName)+'.ini')); не понятно?

Или может я что-то не так делаю?

 
А что делает функция ExtractFilePath?
 
Цитата
Сергей Викторович написал:
Скриншот по повторному вопросу о сохранении изменений  
По данному вопросу нужна информация, какая версия и дата библиотек используется.
Изменено: Елена Кузнецова - 11.05.2017 15:38:35
 
По вопросу о сохранении изменений в диалоге паспорта карты.  
Возьмите, пожалуйста, новые библиотеки с нашего сайта из раздела  Скачать- Библиотеки.
 
Цитата
Тараканова Ирина написал:
По вопросу о сохранении изменений в диалоге паспорта карты.  
Возьмите, пожалуйста, новые библиотеки с нашего сайта из раздела  Скачать- Библиотеки.
Скачал последнюю версию библиотек.
Результат:
ничего не изменилось.
в ini фале с именем .ini
записалось следующее:
[MAPPASP]
Left=216
Top=240
Width=591
Height=288
CurrentXml=D:\UZOR\Proj79\МСК Субъектов РФ.xml
CountFile=1

в ini файле с именем исполнительного модуля не записалось ничего
 
Цитата
Сергей Викторович написал:
Результат:
ничего не изменилось.
Сергей Викторович, просьба хотя бы немного попытаться вникнуть в код, даваемый Вам для примера, а не копировать его целиком к себе как исключительно правильный.

Код, приведенный в примере для ознакомления -
Код
GTKPChar(GTKString(ExtractFilePath(Application.ExeName)+'.ini')); 
реально извлекает путь к директории Вашего исполняемого модуля и добавляет к нему некую строковую константу '.ini'.
В примере это и получается - путь, задаваемый в MapPaspEdit как путь к INI-файлу.
Имя файла Вы задаете по своему усмотрению (или не задаете вовсе).

Если уж совсем правильно писать, то для передачи параметров структуры, объявленных как указатель на строку, следует эту строку сначала выделить.

Примерно так:
Код
procedure Tform_main.N20Click(Sender: TObject); 
var 
f : TTASKPARM; 
aMap : HMAP ; 
aPathShell, aIniName : GTKString;
begin 
if (not mvMap.Active) 
then exit;

FillChar(f, sizeof(f), 0); 
f.Language  := cML_RUSSIAN; 
aPathShell  := GTKPChar(GTKString(ExtractFilePath(Application.ExeName))); 
aIniName    := GTKPChar(GTKString(aPathShell +'ВАШЕ_ИМЯ_ФАЙЛА.ini')); 
f.PathShell := GTKPChar(aPathShell); 
f.IniName   := GTKPChar(aIniName); 
aMap := mvMap.MapHandle;

MapPaspEdit(aMap,GTKPChar(GTKString('Map')), @f); 
end;

Подчеркиваю слово "примерно".

 
Да, так работает.
Спасибо
Страницы: Пред. 1 2 3 4 5 6 След.
Читают тему (гостей: 1)



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

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