SASGIS

Веб-картография и навигация

Вопросы по исходному коду

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Re: Вопросы по исходному коду

Сообщение Alex54 » 25 мар 2015, 19:31

vdemidov писал(а):Возможно вам лучш воспользоваться TChangeableWithSimpleLockBase в качестве базового. И посмотреть на его наследников что бы не наделать дедлоков.

Его и использую. Скажите, я правильно понимаю, что при вызове DoChangeNotify() система должна дергать
TBitmapLayerProviderChangeableForGpsTrack.CreateStatic() ? Чтобы повторно вызвать итератор для нового трека или очистки, если данных нет. Просто при вызове DoChangeNotify() не вижу изменений (
Alex54
Новичок
 
Сообщения: 28
Зарегистрирован: 18 фев 2015, 12:14
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду

Сообщение vdemidov » 25 мар 2015, 19:36

Правильно. Возможно вы ненароком удалили подписку на уведомление об этом событии. Выглядит она так:
Код: Выделить всё
  LinksList.Add(
    TNotifyNoMmgEventListener.Create(Self.OnGPSRecorderChange),
    FGPSRecorder.ChangeNotifier
  );
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Вопросы по исходному коду

Сообщение Alex54 » 25 мар 2015, 19:49

vdemidov писал(а):Правильно. Возможно вы ненароком удалили подписку на уведомление об этом событии. Выглядит она так:
Код: Выделить всё
  LinksList.Add(
    TNotifyNoMmgEventListener.Create(Self.OnGPSRecorderChange),
    FGPSRecorder.ChangeNotifier
  );

В точку )
Компилятор ругается на ChangeNotifier (хотя мой кастомный TCustomGPSRecorder - класс-наследник от TChangeableWithSimpleLockBase, тот в свою очередь, производный от IChangeable)...
Alex54
Новичок
 
Сообщения: 28
Зарегистрирован: 18 фев 2015, 12:14
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду

Сообщение vdemidov » 25 мар 2015, 19:51

Вероятно вы интерфейс не отнаследовали от IChangeable
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Вопросы по исходному коду

Сообщение Alex54 » 25 мар 2015, 19:59

vdemidov писал(а):Вероятно вы интерфейс не отнаследовали от IChangeable

Нет, сразу добавил его -
Код: Выделить всё
type TCustomGPSTrack = class(TChangeableWithSimpleLockBase, IChangeable)

Туплю где-то (
Alex54
Новичок
 
Сообщения: 28
Зарегистрирован: 18 фев 2015, 12:14
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду

Сообщение zed » 25 мар 2015, 20:08

Alex54 писал(а):Компилятор ругается на ChangeNotifier

Как ругается-то?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Вопросы по исходному коду

Сообщение Alex54 » 25 мар 2015, 20:17

zed писал(а):
Alex54 писал(а):Компилятор ругается на ChangeNotifier

Как ругается-то?

[dcc32 Error] E2003 Undeclared identifier: 'ChangeNotifier'
ума не приложу...
Alex54
Новичок
 
Сообщения: 28
Зарегистрирован: 18 фев 2015, 12:14
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду

Сообщение zed » 25 мар 2015, 20:22

Alex54 писал(а):ума не приложу...

Вам в сообщении компилятора что-то не понятно? У данной переменной нет свойства ChangeNotifier.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Вопросы по исходному коду

Сообщение Alex54 » 25 мар 2015, 20:29

zed писал(а):
Alex54 писал(а):ума не приложу...

Вам в сообщении компилятора что-то не понятно? У данной переменной нет свойства ChangeNotifier.

Очень извиняюсь, там же функция GetChangeNotifier(), конечно, разобрался, сразу не заметил ))
Alex54
Новичок
 
Сообщения: 28
Зарегистрирован: 18 фев 2015, 12:14
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду

Сообщение zed » 25 мар 2015, 20:31

У вас там ахинея какая-то написана:
Код: Выделить всё
TCustomGPSTrack = class(TChangeableWithSimpleLockBase, IChangeable)

но TChangeableWithSimpleLockBase итак уже наследует интерфейс IChangeable через TChangeableBase.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron