![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Yak |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2005 Репутация: нет Всего: нет |
Короче такая хрень получается - из библиотеки "NtDll_call.dll" (написанной в VC++) в процедуру "lpproc" программы, написанной на VB6.0 передается строка "strTxt". Строка обьявляется как
и содержит имя текущего процесса. Так вот при попытке передать ее в процедуру VB6.0 таким образом:
сам VB просто падает при обращении к этой(pszProcessName) переменной с хз какой ошибкой, а если передать эту строку так:
в процедуру VB уходит какой то набор символов. Процедура в VB:
и так она обьявлена в библиотеке VC++
самое интересное, что если обьявить эту строку не как CHAR, а как другой текстовый тип, то в VB не приходит пустая строка, хотя из VC++ эту строку видно как надо. P.S. Если кто нить понял, что я тут нагородил)))))), то скажите где у мя здесь ошибка? И какой текстовой тип VC++ передастся без проблем в VB String? P.P.S. Не надо ща советовать "пиши все на VC++ и не парься"... Просто в VB мне гораздо проще и быстрее составлять внешний вид программы, а на VC++ - исполняемые модули, где много коду... |
||||||||||
|
|||||||||||
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
Что ты хочешь сделать? Опиши откуда, что вызывать собрался... А то ничего не понятно...
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
это опечатка? если нет, то char в C++ обозначает символ и ничего больше строка, обычно, представляется указателем на char: char* -------------------- qqq |
|||
|
||||
| Yak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2005 Репутация: нет Всего: нет |
Если покороче сказать (нашел как это называется))))), то не знаю как передать значение как например в станд ф-ции GetWindowText(), т. е. как буфер, чтоб туда передаешь пустую строку, а она возвр строку с именем процесса. А вот как эт реализовать?
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
просто выделить буфер нужного размера (объявлением массива или с помощью new) и дальше передавать этот указатель куда надо
-------------------- qqq |
|||
|
||||
| np9mi7 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
http://msdn.microsoft.com/library/default....twindowtext.asp lpString - это нуль терминированная строка. Как написал maxim1000 делаешь так:
|
||||||
|
|||||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
я бы не стал использовать здесь std::vector
дело в том, что (если я не ошибаюсь) стандарт не гарантирует, что элементы вектора будут храниться последовательно да, пожалуй, это наиболее логичный способ его реализовывать, но не стоит гадать, как производитель STL это сделал мне кажется, что лучше все-таки на этом уровне использовать char s[256] а потом приводить его к std::vector, если надо... -------------------- qqq |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
В отличие от std::string, для вектора гарантируется стандартом последовательное расположение элементов в памяти. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
упс... значит, ошибся... -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |