![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Yak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2005 Репутация: нет Всего: нет |
Короче тема такая - есть готовый код диспечера задач на VB 6.0 . Но он использует библиотеку, написанную на VC++. Так вот, с этой библиотекой и проблемы - при компиляции все вроде проходит без проблем, но когда лезешь в таблицу экспорта нех-редактором - там функция GetAllProcesses выглядит примерно так - ?GetAllProcesses@2vfgjh@@LAGRE_INTEGER@GYKFDW@@FJ
Естесственно, VB ругается что функция не найдена. Перерыл все - а как сделать функции нормальный вид так и не нашел. Конеш можно опять тем же нех-редактором поправить, мусор нулями забить, но эт жутко неудобно, хотя и работает. Кто нить знает, от чего такая хрень происходит? и как от этого избавиться? P.S. Просьба сильно не ругатся, если такая темка где уже и была... |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Тебе нужно запретить декорирование имён экспортируемых функций. Самый простой способ - добавить в проект DEF файл, написать в нём список экспортируемых функций и пересобрать библиотеку.
Тогда имена не будут искажаться. Если вместо DEF-файла используешь __declspec(dllexport), то все объявления экспортируемых функций помести в блок extern "C" {}. Тогда функции будут декорироваться по правилам Си, а не Си++, т.е. вместо "мусора" будет один символ подчёрка. Добавлено @ 13:41 А, блин... Совсем склероз замучал -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
/* Offtop
Баян */ |
|||
|
||||
| Yak |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2005 Репутация: нет Всего: нет |
Вот скачал исходник, малость его поправил, и с чем столкнулся - в структуру PSYSTEM_PROCESSES не передаются имена процессов. Точнее сюда PCWSTR pszProcessName = pProcesses->ProcessName.Buffer; передаются ?? и прервый символ из имени процесса. При этом все остальные параметры передаются без проблем. Кто нить знает почему?
|
||||
|
|||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
Yak, во-первых: как ты смотриш.
во-вторых: кто тебя ТАК строки учил копировать? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |