PDA

Ver la Versión Completa : proceso de moldeado


jw4v32
28-04-2008, 17:32:04
hola queria saber como funciona el siguiente trozo de codigo:

PostThreadMessage(ShellThreadID, WM_ACTIVATE, Length('exit'), DWord(string(PChar('exit'))));

corresponde al codigo para salir del CMD si ocurre algun error, lo parte que no entiendo bien es esta:

DWord(string(PChar('exit'))

por que es necesario convertia a Dword , Pchar y String ese comando y no ponerlo asi directamente, de que sirver ese proceso de moldeado y como funciona.


Saludos

cHackAll
28-04-2008, 18:56:58
Lo correcto sería; Integer(PChar('exit')), pero por que?

Porque el tipo de datos esperado en el último parametro de la API PostThreadMessage es un Integer (una variable de 32 bits que tambien se aplica a DWORD o Cardinal), y un PChar es un puntero, el cual para ser pasado como parámetro a dicha API debe ser convertido.

En realidad solo le estamos diciendo al compilador que no "salte" ante tal error logico de tipos de datos.

Saludos