-
привет всем кто это читает ! не могу установить компонент из за ошибки .. =( выдает ошибку .... function CheckSocketResult(ResultCode: Integer; const Op: string): Integer; begin if ResultCode <> 0 then begin Result := WSAGetLastError; if Result <> WSAEWOULDBLOCK then if Assigned(SocketErrorProc) then SocketErrorProc(Result) >> else raise ESocketError.CreateResFmt2(Integer(@sWindowsSocketError), [SysErrorMessage(Result), Result, Op, ]); end else Result := 0; end;
компил: [Error] KOLScktComp.pas(664): Incompatible types: 'TError' and 'Integer'
это кусок кода с ошибкой из KOLScktComp.pas прошу помочь! .... зарание спс.
-
Юнит err подключен? Integer(@sWindowsSocketError) -> sWindowsSocketError
-
ну он в папке с KOL
-
блин уже перепробовал наверное все! осталось найти верное решение и не как не приходит. . .
-
>> Юнит err подключен? > ну он в папке с KOL В uses'ах KOLScktComp.pas он есть?
-
да есть uses kol, err,{Objects,}Windows, Messages, WinSock,KOLSyncObjs;
-
-
что с ним не так как вы думаете ???
-
Замените > >> else raise ESocketError.CreateResFmt2(Integer(@sWindowsSocketError) > ,
на
else raise ESocketError.CreateResFmt(e_Custom, Integer(@sWindowsSocketError),
-
Да! это помогло спс большое !!!! "Compiler" и "MTsv DN" !!! остаются только такие ошибки они все такого типа ... //////////////////////////////////////////////////////////////////////////////// >>>raise ESocketError.CreateRes(Integer(@sNoAddress)); >>>raise ESocketError.CreateRes(Integer(@sCannotListenOnOpen)); ////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// компилятор жалуется только на : >>[Error]: Undeclared identifier: 'CreateRes' ////////////////////////////////////////////////// только такие ошибки ... если не тяжело помогите еше немного ... за рание спс
пример из кода ================================================= procedure TCustomWinSocket.Listen(const Name, Address, Service: string; Port: Word; QueueSize: Integer; Block: Boolean); begin if FConnected then else raise ESocketError.CreateRes(Integer(@sCannotListenOnOpen)); FSocket := socket(PF_INET, SOCK_STREAM, IPPROTO_IP); if FSocket = INVALID_SOCKET then raise ESocketError.CreateRes(Integer(@sCannotCreateSocket)); try Event(@Self, seLookUp); if Block then begin FAddr := InitSocket(Name, Address, Service, Port, False); DoListen(QueueSize); end else AsyncInitSocket(Name, Address, Service, Port, QueueSize, False); except Disconnect(FSocket); raise; end; ======================================================= за флуд простите ...
-
Попробуйте заменить на raise ESocketError.Create(e_Custom, sCannotListenOnOpen);
-
Ура ...!!!! проблема решена спасибо огромное "Compiler ©" с меня пиво! ....
-
БЛин !!! не пашет ! кароч такая штука : если оставить так raise ESocketError.Create(e_Custom, sCannotListenOnOpen); то тогда форма даж не запускается ! я попробывал полностью убрать это типо // raise ESocketError.Create(e_Custom, sCannotListenOnOpen); и клиент не видет сервака ! =( блин мама дорогая как я людей уже закоцал ! и сам закоцался! =(
-
> dron9999 © (23.10.08 20:36) [12]
Поправил тестовый пример, но компонент не ставил, использовал визуально. Работает, вылетает ошибка или зависает только при остановке сервера. Связано это скорее всего с остановкой потока. Exception тут не при делах
-
Можешь дать твой тестовый пример! krasnii84@list.ru icq 460475775
|