Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

dde после выполнения макроса не сбрасывает флаг waitstat   Найти похожие ветки 

 
Rater1   (2006-07-13 15:34) [0]

почему после запуска макроса через DDE всё встаёт, т.е. флаг waitstat не сбрасывается...


 
Rater1   (2006-07-13 15:51) [1]

Отрабатывает след. функция....

function TDdeClientConv.ExecuteMacro(Cmd: PChar; waitFlg: Boolean): Boolean;
var
 hszCmd: HDDEData;
 hdata: HDDEData;
 ddeRslt: LongInt;
begin
 Result := False;
 if (FConv = 0) or FWaitStat then Exit;
 hszCmd := DdeCreateDataHandle(ddeMgr.DdeInstId, Cmd, StrLen(Cmd) + 1,
   0, 0, FDdeFmt, 0);
 if hszCmd = 0 then Exit;
 if waitFlg = True then FWaitStat := True;
 hdata := DdeClientTransaction(Pointer(hszCmd), DWORD(-1), FConv, 0, FDdeFmt,
    XTYP_EXECUTE, TIMEOUT_ASYNC, @ddeRslt);
 if hdata = 0 then FWaitStat := False
 else Result := True;
end;


Если hdata возвращает результат транзакции, то в соответствии с найденными мной описаниями: "Возвращает нулевое значение, если транзакция была выполнена с ошибкой, или ненулевую величину, смысл которой зависит от транзакции, (В нашем случае будет возвращена единица) при нормальном выполнении. "

условие выставлено неверно надо так:
if hdata <> 0 then FWaitStat := False

Так или нет?



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
2-1154665343
MSVN
2006-08-04 08:22
2006.08.27
TrackBar и время


2-1154705644
Mr tray
2006-08-04 19:34
2006.08.27
cos(1/2*pi)=-4.3711388287e-08


9-1133367552
Mak55
2005-11-30 19:19
2006.08.27
Не по теме немного. Поделитесь пожалуйста кодами прохождения для


2-1154608617
Юра
2006-08-03 16:36
2006.08.27
TServerSocket, stNonBlocking несколько клиентов


15-1154286778
Михель
2006-07-30 23:12
2006.08.27
Аська, точнее, QIP странно заглючил. Отпал с сообщением типа