|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2011, 17:10 | #1 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Пишу модуль (gl3.pas) cтолкнулся с проблемой
Пишу модуль (gl3.pas) на основе OpenGL 3.3 Core Context Functionality
Cтолкнулся с проблемой, не получается получить указатели на ф-ии gl33 core. К примеру. Код:
Код:
может что-то я упустил в коде ф-й? Код:
|
12.12.2011, 20:06 | #2 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Разобрался.
Нужно было после получения адресов ф-й wgl создать контекст gl и только потом пытаться получать адреса ф-й ядра. |
15.12.2011, 08:42 | #3 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Вновь возник вопрос.
Делегирую обработку сообщений от функции обработки сообщений Код:
Код:
Класс Код:
|
15.12.2011, 09:10 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
объекты итак хранятся через ссылку, не нужно брать указатель от ссылки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
15.12.2011, 09:52 | #5 | |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Если про это
Цитата:
В отладке первоначально вижу класс в указателе AppInst, с реальными значениями переменных, все передается нормально, но вот потом после создания потомка класса(MyApp := MyGLApp.Create();), далее идет обработка сообщений (MyApp.DoAppEvents();), в AppInst поступает какойто мусор и он выполняет для мусорных данных TGLApp.MsgProc, тут все и начинается, на первом проходе обработчика сообщений. Я тут подумал может обработчик обрабатывает "левые хендлы" окон и берет из них USERDATA и интерпретирует ее как класс, а далее пошло и поехало...? Код:
Код:
Код:
Код:
Код:
Последний раз редактировалось Warn; 15.12.2011 в 10:36. |
|
15.12.2011, 20:10 | #6 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
TClass это уже указатель на объект типа TClass, итого у вас выходит указатель на указатель на объект. Цитата:
бывала же тема про делегирование в ООП, посмотрите. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
15.12.2011, 20:52 | #7 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Проблему решил.
Проблема была в том что строчка - Код:
т.е. так я понял, в конструкторе нельзя трогать и передавать куда либо @self, наверное, на этом этапе инст класса еще не определился со своим место положением в памяти поэтому, вынес строчку из TGLApp.Create()->fn(); в самое начало TGLApp.DoAppEvents(); сохраняю так. Код:
Код:
Основной код программы. Пока что инициализация gl33 core контекста Код:
Последний раз редактировалось Warn; 15.12.2011 в 21:02. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с проблемой!? | fandorn | Microsoft Office Excel | 1 | 18.11.2009 04:37 |
помогите с проблемой | vaso1983 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 28.04.2009 20:52 |
Как подключить к проекту модуль ras.pas | Михаил Юрьевич | Общие вопросы Delphi | 3 | 14.03.2009 15:45 |
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. | SkyM@n | Фриланс | 3 | 29.12.2007 16:21 |