Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Punteros (https://www.clubdelphi.com/foros/showthread.php?t=69304)

kotai 09-08-2010 14:03:40

Punteros
 
Hola.

Estoy intentando recibir en un thread de los componentes SDL un valor que me viene por puntero pero al hacer: puntero: ^Byte; me dice "Indetifier expected but '^' found", o sea que no sabe lo que es ^

He probado a poner el tipo como pointer, pero cuando hago Valor := puntero^ me dice: "Incompatible types:'Byte' and 'procedure', untyped pointer or untyped parameter" con lo que me queda claro que no sabe que es "^"


Supongo que será alguna directiva del compilador para que tenga en cuenta los punteros. ¿ Alguien sabe que tengo que hacer para que funcione ? Uso Delphi2006 y Delphi2007

Saludos.

delphi.com.ar 09-08-2010 16:26:34

La primer pregunta, es: ¿Sabes que tipo de datos/estructura se encuentra en la dirección de memoria que indica el puntero?

Por lo que se ve de tus ejemplos, aparentemente se trata de un puntero a Byte o sea un PByte. Puedes hacer algo como esto:

Código Delphi [-]
program DemoPointer;

{$APPTYPE CONSOLE}

procedure ShowByte(P: Pointer);
begin
  WriteLn(PByte(P)^);
end;

var
  B: Byte;
begin
  B := 64;
  ShowByte(@B);

  ReadLn(B);
end.


La franja horaria es GMT +2. Ahora son las 14:23:37.

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