powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
11 сообщений из 11, страница 1 из 1
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460526
kalginap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо написать обработчик события pbm_drawitem для окна. Этот самый обработчик принимает аргумет drawitemstruct типа long , который согласно Windows SDK представляет собой структуру. Тогда как обратиться к этому аргументу именно как к структуре а не как к аргументу типа long ?
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460599
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalginapНеобходимо написать обработчик события pbm_drawitem для окна. Этот самый обработчик принимает аргумет drawitemstruct типа long , который согласно Windows SDK представляет собой структуру. Тогда как обратиться к этому аргументу именно как к структуре а не как к аргументу типа long ?
Из того, что Вы говорите - этот аргумент по всей видимости указатель на структуру, скопировать содержимое памяти по этому указателю в структуру можно при помощи функции CopyMemory(), передав в качестве одного из параметров - указатель на структуру, а другого - полученный указатель.
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460612
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обьявляешь внешнюю ф-цию RtlMoveMemory
создаешь структуру например t_drawitemstruct которая соответствует API
и на указанном событии копируешь из указателя drawitemstruct в локальную структуру t_drawitemstruct.
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460652
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Маркпри помощи функции CopyMemory().
Да, WinAPI функция действительно называется RtlMoveMemory.
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460764
kalginap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry..обьявляешь внешнюю ф-цию RtlMoveMemory
создаешь структуру например t_drawitemstruct которая соответствует API
и на указанном событии копируешь из указателя drawitemstruct в локальную структуру t_drawitemstruct.

Декларирую функцию RtlMoveMemory:
subroutine RtlMoveMemory(long Dest, ref s_drawitem Source, long Length) library "kernel32.dll";
Создаю структуру s_drawitem, соответствующую API. Объявляю ее локальный экземпляр lstr_drawitem, вызываю RtlMoveMemory(drawitemstruct, lstr_drawitem, 52), где drawitemstruct - аргумент обработчика события pbm_drawitem. Возникает unhandled win32 exception occured in PB110.exe.
Где ошибка?
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460840
_Guest_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
начиная с 10.5 это стало проблемой...
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35460857
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Guest_1начиная с 10.5 это стало проблемой...
Помотрите как реализовано такое коприование в объекте uo_systemchoosecolordialog в WinAPI . Тоже не работает?
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35461361
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalginapНеобходимо написать обработчик события pbm_drawitem
А зачем?
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35462208
_guest_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркПомотрите как реализовано такое коприование
Проблема не в копировании, а в использовании события pbm_drawitem
адрес структуры приходит не правильный
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35462233
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_guest_1 Локшин МаркПомотрите как реализовано такое коприование
Проблема не в копировании, а в использовании события pbm_drawitem
адрес структуры приходит не правильный
А действительно, зачем вам это событие понадобилось?
...
Рейтинг: 0 / 0
Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
    #35463019
_Guest_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк А действительно, зачем вам это событие понадобилось?
Для чего kalginap - не знаю
Мне для меню
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как в бработчике события pbm_drawitem обратиться к аргументу - структуре drawitemstruct
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]