Fórum Erro na declaração do tipo PChar - D2005 #307586

03/01/2006

0

Pessoal,

pq acontce o erro abaixo

[Error] Unit1.pas(30): E2410 Unsafe pointer variables, parameters or consts only allowed in unsafe procedure

isso ocorre nesta linha

var
   Computer: PChar;


Att

Wagner


Wagnermarrane

Wagnermarrane

Responder

Posts

03/01/2006

Caninha51

Posta um trecho maior do código, num deu erro aki naum.


Responder

Gostei + 0

03/01/2006

Wagnermarrane

Posta um trecho maior do código, num deu erro aki naum.


procedure TForm1.BitBtn1Click(Sender: TObject);
var
   Computer: PChar;
   CSize: DWORD;
begin
Computer:=#0;
CSize:=MAX_COMPUTERNAME_LENGTH + 1;
try
    GetMem(Computer,CSize);
    if Windows.GetComputerName(Computer,CSize ) then
        ShowMessage(Computer);
finally
    FreeMem(Computer);
    end;
end;


ai esta o código todo....

e o erro [b:85838bef71][Error] Unit1.pas(30): E2410 Unsafe pointer variables, parameters or consts only allowed in unsafe procedure [/b:85838bef71]

continua.... to achando que é a instalação do meu delphi


Responder

Gostei + 0

03/01/2006

Caninha51

Amigo, seu código funcionou perfeitamente aki.

tenta...
var
  Computer: String;
  CSize: DWord;
begin
  CSize := MAX_COMPUTERNAME_LENGTH + 1;
  SetLength(Computer, CSize);
  Windows.GetComputerName(PChar(Computer), CSize);
  Showmessage(PChar(Computer));
end;



Responder

Gostei + 0

04/01/2006

Wagnermarrane

Amigo, seu código funcionou perfeitamente aki. tenta...
var
  Computer: String;
  CSize: DWord;
begin
  CSize := MAX_COMPUTERNAME_LENGTH + 1;
  SetLength(Computer, CSize);
  Windows.GetComputerName(PChar(Computer), CSize);
  Showmessage(PChar(Computer));
end;


ai Caninha ... to achando que o meu delph esta com problemas pq o código q vc mandou não rodou na minha maquina..... q ruim..... porém dx eu tirar uma duvida a minha maquina é SO - Windows 2003 server e to com Delphi 2005..... sem problemas a função era para rodar corretamente, certo?

só q no seu código o erro que apresenta é este:

  SetLength(Computer, CSize);
  Windows.GetComputerName(PChar(Computer), CSize);


[b:52e31bdda4][Error] Unit1.pas(33): E2089 Invalid typecast[/b:52e31bdda4]

To quase desisitindo.... vou desinstalar o Delphi e reinstalar para solucionar minha duvida.... mas se tiver alguma idéia posta camaraad...

abraço


Responder

Gostei + 0

04/01/2006

Caninha51

Rapaz, o problema eh com o typecast do Pchar.
Num sei se eh no teu 2005 ou em todos 2005 que acontecem este problema.

Eu num uso o 2005 ainda naum, ainda tow no 7.

Se aparecesse algum com o 2005 pra testar esse código neh?
Vamos esperar!:D

flw


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar