powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / warning C4700
14 сообщений из 14, страница 1 из 1
warning C4700
    #33886671
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем,

Помогите понять, то, что эта ошибка означает, я представление имею... но при запуске выходит такая ошибка

warning C4700: local variable 'retRnd' used without having been initialized

переменная не только объявлена, но и ей присвоено значение

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
...
BSTR *retRnd;

*retRnd = bstr_t("ReturnRnd");
...
long arfa = m_myclass->AAS(rnd, retRnd); //падает в этой строчке
...

AAS - функция из библиотеке

так что я не так делаю??????
...
Рейтинг: 0 / 0
warning C4700
    #33886673
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BSTR *retRnd;

retRnd = bstr_t("ReturnRnd");//убрать *
...
long arfa = m_myclass->AAS(rnd, retRnd); //падает в этой строчке
...
Рейтинг: 0 / 0
warning C4700
    #33886674
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
убрал *

упало с ошибкой

error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class _bstr_t' (or there is no acceptable conversion)

что не так?

Код: plaintext
1.
2.
3.
...
retRnd = bstr_t("ReturnRnd"); //теперь падает тут
...

приведу кусок кода из tlh файла

Код: plaintext
1.
2.
3.
    long AAS(
        _bstr_t pRnd,
        BSTR * rRnd );
...
Рейтинг: 0 / 0
warning C4700
    #33887120
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неужели никто не может помочь, кто писал с использованием ActiveX написанных на VB6, решение рядом, помогите.
...
Рейтинг: 0 / 0
warning C4700
    #33887973
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эту ошибку я ещё не обошел, просто убрал аргумент, но сейчас у меня другая ошибка.

не создается инстанс, что я опять не так делаю?????

вот часть кода


Код: plaintext
1.
2.
3.
4.
5.
6.
...
SOES::_FPSPtr m_myclass ; //после выполнения этого кода я имею то, что отражено в приложенном файле.
m_myclass.CreateInstance(__uuidof(SOES::_FPS)); // соответсвенно при попытке создания инстанса у меня ошибка -2147221008 CoInitialize has not been called. 

long arfa = m_myclass->AAS(rnd);
...
...
Рейтинг: 0 / 0
warning C4700
    #33888192
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neZnauKto

warning C4700: local variable 'retRnd' used without having been initialized

переменная не только объявлена, но и ей присвоено значение

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
...
BSTR *retRnd;

*retRnd = bstr_t("ReturnRnd");
...
long arfa = m_myclass->AAS(rnd, retRnd); //падает в этой строчке
...



retRnd - указатель. Ты его объявил,но ничего, ему не присвол.

Далее ты его разименовываешь , и присваиваешь значение.

Т.е. твой указатель должен указывать на некую память, в который можно хранить значение. Но в момент записи этого значения (2-я строчка), место , куда должен указывать этот указатель не определено
...
Рейтинг: 0 / 0
warning C4700
    #33888732
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы простите меня за назойливость, я не пишу на VС , я многого не знаю, и задача стоит не у меня, я пишу на VB, а человек которому это надо, никогда не работал с ActiveX DLL написанных на VB, вот я и пытаюсь срастить, напишите пожалйста пример. И что скажете на счет другой ошибки с созданием инстанса.

Хелп плиз , времени мало.
...
Рейтинг: 0 / 0
warning C4700
    #33888751
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"CoInitialize has not been called" перевести не пробовали ? Надо вызавть CoInitialize
...
Рейтинг: 0 / 0
warning C4700
    #33888779
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с первой ошибкой разобрался, работает, теперь постараюсь разобраться со второй ;)))

Код: plaintext
1.
2.
3.
4.
...
	BSTR val = bstr_t("ypa");
	retRnd = &val;
...

Barlone
"CoInitialize has not been called" перевести не пробовали ? Надо вызавть CoInitialize


я брал пример из этого форума и у меня не получилось, вот и задаю глупые ;-) вопросы.
...
Рейтинг: 0 / 0
warning C4700
    #33888801
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neZnauKto Хелп плиз , времени мало.

Что есть bstr_t понятия не имею. Но, судя по твоим данным, она возвращает класс BSTR (не указатель на него), что есть то же самое _bstr_b (важно, исхожу из этого).


Попробуй так:
Код: plaintext
1.
2.
3.
4.
BSTR retRnd;
retRnd = bstr_t("ReturnRnd");
...
long arfa = m_myclass->AAS(rnd, &retRnd); //падает в этой строчке
...
Рейтинг: 0 / 0
warning C4700
    #33888939
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akh
Я может не так написал, но с этим у меня уже проблем нет, сейчас падает в другом месте.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
	BSTR val = bstr_t("ypa");
	retRnd = &val;

	CoInitialize(NULL);
	SOES::_FPSPtr m_myclass ; 
	m_myclass.CreateInstance(__uuidof(SOES::_FPS)); 
	long arfa = m_myclass->AAS(rnd, retRnd);

	m_myclass.Release();
...

При выполнении он выдает

Runtime Error!

Program: ...s\Microsoft Visual Studio\MyProjects\life\Debug\life.exe

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
...
Рейтинг: 0 / 0
warning C4700
    #33888988
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neZnauKtoAkh
Я может не так написал, но с этим у меня уже проблем нет, сейчас падает в другом месте.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
	BSTR val = bstr_t("ypa");
	retRnd = &val;

	CoInitialize(NULL);
	SOES::_FPSPtr m_myclass ; 
	m_myclass.CreateInstance(__uuidof(SOES::_FPS)); 
	long arfa = m_myclass->AAS(rnd, retRnd);

	m_myclass.Release();
...


Написал ты правельно, это я долго ответ писал.

С ком, я тебе врядли помогу, так как использовал его один раз (для диплома) и то, опосредованно. Так что жди, другие ответсят.

Только смутил меня один факт. В твоем листинге, ты к методу ASS класса m_myclass обращаешься через -> (как m_mycalss - указатель на экземпляр класса), а перед этим, к методу CreateInstance через точку (как m_myclass - экземпляр класса). что есть _FPSPtr - не знаю, но Ptr, возможно, говорит, что это указатель. Поэтому обращаться через точку к нему нельзя. Странно, как компилятор это, вообще, пропустил.
...
Рейтинг: 0 / 0
warning C4700
    #33889170
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akh
Написал ты правельно, это я долго ответ писал.

С ком, я тебе врядли помогу, так как использовал его один раз (для диплома) и то, опосредованно. Так что жди, другие ответсят.

Только смутил меня один факт. В твоем листинге, ты к методу ASS класса m_myclass обращаешься через -> (как m_mycalss - указатель на экземпляр класса), а перед этим, к методу CreateInstance через точку (как m_myclass - экземпляр класса). что есть _FPSPtr - не знаю, но Ptr, возможно, говорит, что это указатель. Поэтому обращаться через точку к нему нельзя. Странно, как компилятор это, вообще, пропустил.

Нет, надо через "." тут все верно, это точно. Когда пишешь точку, он сам подсказывает.
...
Рейтинг: 0 / 0
warning C4700
    #33890055
neZnauKto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели это такая проблема, что с ней никто не сталкивался?

если есть реально работающий пример на VC, выложитепожалйста, бейсиковскую библиотеку не надо.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / warning C4700
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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