Punteros a TGUID
Publicado por fafilberg (11 intervenciones) el 30/08/2005 17:39:56
Hola, tengo que usar la estructura TGUID pero como puntero, osea PGUID.
Necesito pasar a una funcion este variable con un puntero para que la funcion tome los diferentes valores, osea que la variable podria tener n items (estructuras TGUID);
Veamos:
var
Types :PGUID;
begin
TGUID(Types^) := MEDIATYPE_Video;
TGUID(Pointer(Integer(Types) + SizeOf(TGUID))^) := MEDIASUBTYPE_MPEG2_VIDEO;
...
Suponiendo que voy a pasar solo dos items, con esto lo resuelvo, pero en el caso de que pase muchos items tendria que escribir muchas lineas avanzando el puntero, alguien conoce alguna forma de hacer todo en la misma linea, que quede algo asi:
Types := COMO_HAGO_ACA_PUNTERO_A_VARIOS_TGUID ( MEDIATYPE_Video, MEDIASUBTYPE_MPEG2_VIDEO, MEDIATYPE_Lo_Que_Sea, etc.);
Necesito pasar a una funcion este variable con un puntero para que la funcion tome los diferentes valores, osea que la variable podria tener n items (estructuras TGUID);
Veamos:
var
Types :PGUID;
begin
TGUID(Types^) := MEDIATYPE_Video;
TGUID(Pointer(Integer(Types) + SizeOf(TGUID))^) := MEDIASUBTYPE_MPEG2_VIDEO;
...
Suponiendo que voy a pasar solo dos items, con esto lo resuelvo, pero en el caso de que pase muchos items tendria que escribir muchas lineas avanzando el puntero, alguien conoce alguna forma de hacer todo en la misma linea, que quede algo asi:
Types := COMO_HAGO_ACA_PUNTERO_A_VARIOS_TGUID ( MEDIATYPE_Video, MEDIASUBTYPE_MPEG2_VIDEO, MEDIATYPE_Lo_Que_Sea, etc.);
Valora esta pregunta


0