Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   EAccessViolation at address 00000000 (https://www.clubdelphi.com/foros/showthread.php?t=22807)

jymy788 28-06-2005 11:40:13

EAccessViolation at address 00000000
 
Buenas a todos, esto es de chiste y me tiene loco.

Tengo la siguiente función:

function configureSocket(Puerto:Integer;
var ClientSocket:TClientSocket;
PcName : String;
ByIP : boolean = False): boolean;
begin
try
ClientSocket := TClientSocket.Create(nil);
If ( ByIP ) then
ClientSocket.Address := PcName
else
ClientSocket.Host:= PcName;
ClientSocket.Port:= Puerto;
ClientSocket.ClientType:= ctBlocking;
ClientSocket.Open; // si no esta activo salta al except
Result:= true;
except
Result:= false
end;
end;

pues bien, el ClienteSocket.Open, da excepción, y cuando se va al except, al hacer el Result:=false me da una excepción (EAccessViolation at address 00000000)

alguien me puede decir por qué carajo (intentando ser "fino") me está pasando esto????

Gracias a todos

Sick boy 28-06-2005 13:56:42

Primero de todo, usa las etiquetas code, se lee mejor.

Tienes una funcion, que creo que no funciona nunca, porque me parece que el try...except falla siempre.

Si te fijas, le estas pasando el clientsocket como variable:
Código:

function configureSocket(Puerto:Integer;
var ClientSocket:TClientSocket;
PcName : String;
ByIP : boolean = False): boolean;

Pero un poco despues, lo creas
Código:

ClientSocket := TClientSocket.Create(nil);
Y las salir, no lo liberas.

Como no se que es lo que tiene que hacer esa funcion, no te puedo ayudar mas, pero parece que te sobra la linea para crear el ClientSocket.

Tampoco has puesto como llamas a la funcion.


La franja horaria es GMT +2. Ahora son las 14:07:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi