powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Неявная ошибка при использовании Com
3 сообщений из 3, страница 1 из 1
Неявная ошибка при использовании Com
    #38684837
CBuilder. На событии OnChange объекта TField подключаюсь к веб сервису примерно таким кодом.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Variant xmlServer;
xmlServer = CreateOleObject("Msxml2.ServerXMLHTTP.6.0");
xmlServer.OleProcedure("SetOption", 2, 13056);
String sCmd = Settings->sHTTP + String("Check") + String("?id=") + Settings->sSID + String("&a=") + String(rp.iPersonID);
try
{
	xmlServer.OleProcedure("Open", "GET", AnsiString(sCmd).c_str(), false);
	xmlServer.OleProcedure("Send");
}
catch(Exception &e)
{
	rp.sGetError = L"NoConnect";
	return;
}



Проблема в том, что контрол на который переводится фокус не получает фокуса. Не важно программно фокус на него переводить или пользователь через интерфейс. Точней в контроле на который переводили фокус можно вводить текст с квавиатуры. Но при этом на нем не мерцает курсор. И не происходят никакие события. В случае если контрол связан с данными то данные не пишутс в ДатаСет. Exception никаких не происходит.

Где можно покопать?
...
Рейтинг: 0 / 0
Неявная ошибка при использовании Com
    #38684876
Похоже нашел. Проблема в последующей очистке памяти от Variant. Попозже напишу подробней.
...
Рейтинг: 0 / 0
Неявная ошибка при использовании Com
    #38685065
Точней нельзя создавать объекты типа Variant в стеке.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Неявная ошибка при использовании Com
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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