Страница 1 из 1
интерфейс выбора: priority
Добавлено: 20 май 2009, 09:47
Alexander
интерфейс вызывается, но не могу взять маркер, делаю так:
Код: Выделить всё
var Marker : longint;
Marker := InitMarker('MTOPRIORITY',8,1,1);
ClearMarker(Marker);
RunInterface('priority', 0,0, 0, 'MTOPRIORITY');
message('кол-во маркеров:' + GetMarkerCount(Marker))
DoneMarker(Marker, 'MTOPRIORITY');
результат всегда ноль. Что я делаю не правильно?
Добавлено: 20 май 2009, 11:11
galover
Alexander
помнится после вызова интерфейса маркер нужно переинициализировать
Добавлено: 21 май 2009, 14:30
Screw
А что значит "взять"? Если ожидается, что в инициализированный в вызывающем интерфейсе маркер попадет что-то из вызываемого, то ожидания не оправданы. Вызываемому интерфейсу нужно передавать не идентификатор, под которым данные и параметры маркера сохраняются в деске, а собственно хэндл маркера (в примере - переменная Marker). Или другой вариант: вызываемый интерфейс сохраняет всё нажитое непосильным трудом в деске, используя строку-идентификатор ресурса, а вызывающий потом поднимает эти данные из деска.
То есть как-то так (в вызывающем):
Код: Выделить всё
RunInterface('priority', 0,0, 0, 'MTOPRIORITY');
var Marker: longint;
Marker := InitMarker('MTOPRIORITY',8,1,1);
message('кол-во маркеров:' + GetMarkerCount(Marker))
в вызываемом:
Код: Выделить всё
...
var Marker: longint;
...
Marker := InitMarker('', 8, 10, 10); // просто пустой маркер, из деска ничего не грузим
...
//помечаем-помечаем
...
DoneMarker(Marker, 'MTOPRIORITY'); // сохранили содержимое маркера в деске и грохнули маркер
Добавлено: 22 май 2009, 08:21
Alexander
вот так заработало:
Код: Выделить всё
var Marker : longint;
RunInterface('priority', 0,0, 0, 'MTOPRIORITY');
Marker := InitMarker('MTOPRIORITY',8,1,1);
message('кол-во маркеров:' + GetMarkerCount(Marker))
DoneMarker(Marker, 'MTOPRIORITY');
Инитить надо после вызова фейса, всем спасибо
Добавлено: 26 май 2009, 23:06
Screw
Выполнять уничтожение маркера с записью в деск (непустая строка во втором параметре DoneMarker) - лишнее. Зачем вам перезаписывать его содержимое?