Здравствуйте!
Используем компонент MapEditMetric1
для перемещения объекта по карте.
Все хорошо работает.
Требуется программе в методе MapEditMetric1StopAction
выполнять
form_main.MapObj1.Commit;
form_main.MapObj1.Style := OS_NORMAL;
form_main.MapObj1.Repaint;
form_main.mvMap.AdjustData;
form_main.mvMap.Repaint;
Но только для объектов
If (form_main.MapObj1.ExCode = 10000007) or
(form_main.MapObj1.ExCode = 10000008) or
(form_main.MapObj1.ExCode = 10000012) or
...
для других объектов метод
form_main.MapObj1.Commit;
не выполняется
Выполняется вместо этого
form_main.MapObj1.Repaint;
form_main.mvMap.Repaint;
В результате на экране монитора все хорошо отрабатывается,
т.е. для других объектов, новое положение объекта не запоминается, все хорошо.
Однако,
любопытный пользователь щелкает мышью по тому месту, до куда он пытался дотянуть перемещаемый объект,
и который не запомнит свое новое положение.
В результате на экране появляется выбранный объект, которого фактически на карте его нет.
Почему?
Используем компонент MapEditMetric1
для перемещения объекта по карте.
Все хорошо работает.
Требуется программе в методе MapEditMetric1StopAction
выполнять
form_main.MapObj1.Commit;
form_main.MapObj1.Style := OS_NORMAL;
form_main.MapObj1.Repaint;
form_main.mvMap.AdjustData;
form_main.mvMap.Repaint;
Но только для объектов
If (form_main.MapObj1.ExCode = 10000007) or
(form_main.MapObj1.ExCode = 10000008) or
(form_main.MapObj1.ExCode = 10000012) or
...
для других объектов метод
form_main.MapObj1.Commit;
не выполняется
Выполняется вместо этого
form_main.MapObj1.Repaint;
form_main.mvMap.Repaint;
В результате на экране монитора все хорошо отрабатывается,
т.е. для других объектов, новое положение объекта не запоминается, все хорошо.
Однако,
любопытный пользователь щелкает мышью по тому месту, до куда он пытался дотянуть перемещаемый объект,
и который не запомнит свое новое положение.
В результате на экране появляется выбранный объект, которого фактически на карте его нет.
Почему?