чет не работают указатели...

AccessViolation... может я что-то не так делаю?
Код:
//модуль
function TPlayerControl.GetTrackTitle: string;
var
P: PChar;
Handle: HWND;
Integ : integer;
begin
Result := '';
P := getmemory(1024);
Handle := FindWindow(PChar('TPLForm'), nil);
if Handle <> 0 then
begin
integ := SendMessage(Handle, WM_COMMAND, 27211, 0);
P := PChar(integ);
Result := P;
end;
end;
//сама программа
procedure TPLForm.WMMessages(var Msg: TMessage); //message WM_COMMAND
var i : integer;
begin
Case Msg.WParam Of
...
27211: begin
i := integer(GetTag(FFileName));
Msg.Result := i;
end;
End;
end;