Cita:
Empezado por jw4v32
1-por que se usan variables PWideChar, que son? y que diferencias hay entre los PChar por que no usar estos?
|
La principal diferencia entre PWideChar y PChar es que PChar es ANSI, y PWideChar es UNICODE. en el primer caso cada byte de datos representa un caracter, en el segundo un caracter es almacenado en dos.
En este caso se usa PWideChar porque las funciones utilizadas, usan este tipo de datos.
Cita:
Empezado por jw4v32
2- las funciones de las API que veo terminan en W, por lo que las Ansi ya quedaron obsoletas o que?
|
Talvez no haya soporte para dichas APIs en ANSI (me da flojera revisarlas), si terminan en W debes usar WideStringS como el PWideChar.
Cita:
Empezado por jw4v32
3- Como se sabe cuando usar cierta conbinacion de funciones API, ahi veo que usa 3:
1-BeginUpdateResourceW
2-UpdateResourceW
3-EndUpdateResourceW
a lo que me refiero es a por que las usa en ese orden?
|
Yo te pregunto; como puedes copiar un archivo? primero debes encontrarlo, abrirlo, leerlo y, cerrarlo.. por que no en otro orden?
Cita:
Empezado por jw4v32
|
Cita:
Empezado por jw4v32
3- GetMem(WideServerFile, (Length(ServerFile) + 1) * 2);
la memoria que reserva para WideServerFile es = a (longitud + 1) * 2 vaya formula!! a que se debe ese + 1 y *2 (ya se que es la multiplicacion es para reservar el doble de Chars pero por que?
|
Cita:
|
Empezado por PChar
'cHackAll'#0 ocupa 9 caracteres, los 8 del nick y el caracter nulo de terminación.
|
Cita:
|
Empezado por PWideChar
'c'#0'H'#0'a'#0'c'#0'k'#0'A'#0'l'#0'l'#0#0#0 (8 + 1) * 2
|
Cita:
Empezado por jw4v32
4- Veo un Bug ahi en vez de liberar los recursos con finally, solo los libera si ocurre algun error, con except, que tonto  , este no hace falta explicarlo.
|
que?