![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
Без ООП переносимого решения не получить. -------------------- вопросов больше чем ответов |
|||
|
||||
| Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: нет Всего: 5 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
какие например? И вообще, какие стандартные (читай переносимые) директивы компилятора ты знаешь? |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Как раз важно сколько экземпляров функции нужно создать. если оно ограничено, то можно.
Это сообщение отредактировал(а) math64 - 3.11.2011, 14:08 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Lipetsk, Вы не очень четко сформулировали задачи, поэтому Вас не понимают и предлагают пол-решения..
Вы б вместо того чтоб возмущаться на счет типов лучше бы прояснили немного.. Я так понимаю Вам нужен коллбяк посредник, дополняющий к аргументам, еще свой идентификатор.. так ? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
алсо наглядный пример вызова функции (без использования ваших идей с генератором) был бы в помощь..
т.е. Вам нужно точно определить, что есть на входе, и что Вамнужно на выходе и тогда можно будет ответить как этого добиться оптимальным способом.. Добавлено через 56 секунд насчет невозможности переносимого решения, написано не (совсем ) правда.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
Lipetsk, объясни нормально задачу. не верю я что тебе реально нужен генератор каких-то функций.
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
имхо ему нужно доп. параметры в колбэк передавать, а DdeInitialize такой возможности не предоставляет. Вот и выдумывает "генерацию функций"
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Lipetsk, скорее всего, такое сделать просто нельзя, так как предполагается, что DdeInitialize вызывается единожды для приложения (я ошибаюсь?), поэтому все данные коллбэка должны быть статическими, так как он един для всего процесса. Если ты не знаешь, как это сделать с классами - почитай про PIMPL.
|
|||
|
||||
| Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: нет Всего: 5 |
суть такая, но нужна динамика, а не фиксированный набор функций возможно, что вызов DdeInitialize "затирает" предыдущий вызов, проверить смогу только в понедельник но можно придумать и другие варианты задач, когда такое необходимо, и меня интересует, как такое реализовывается пусть DdeInitialize можно вызывать несколько раз, как тогда быть? но я уже кое-что нашел http://www.hackcraft.net/cpp/windowsThunk/ и http://www.codeproject.com/KB/cpp/Thunk_uses.aspx |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
в примерах идет отражение хэндлов системы на указатели клиента.. Это не совсем то что вы описывали вначале.. под ваше описание подходят несколько вариантов задач, чтобне перебирать все, желательно бы от Вас услышать более точное условие. |
|||
|
||||
| Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: нет Всего: 5 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Lipetsk, в цитатнике текста не видно..
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Динамически создать функцию в условиях Windows не пролучится, даже с ассемблером, в DOS было можно примерно так:
в Windows так не получится, поскольку у сгенерированного кода не будет прав на выполнение. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |