Problem z nadaniem Atrybutu w AUTOSTART

0

Witam. Mam problem z nadaniem atrybutu dla skórtu znajdującego się w autostarcie. Korzystałem z artykułu na waszej stronie ale wciąż mam error podczas próby kompilacji:

[Error] Unit1.pas(102): Incompatible types: 'String' and 'PAnsiChar'

Tutaj umieszczam kawałek kodu który powinien nadawać atrybut READONLY:

function GetP(Folder: Integer): String; 
var FilePath: array[0..MAX_PATH] of char;
begin
  SHGetSpecialFolderPath(0, FilePath, Folder , False);
  Result:=FilePath;
end;
SetFileAttributes(GetP(CSIDL_STARTUP) + 'AlfaBeta.lnk', FILE_ATTRIBUTE_READONLY);
0

function GetP(Folder: Integer): String;
var FilePath: array[0..MAX_PATH] of char;
begin
SHGetSpecialFolderPath(0, PChar(FilePath), Folder , False);
Result:=FilePath;
end;

Może tak zadziała

0
BumaDruma napisał(a)

function GetP(Folder: Integer): String;
var FilePath: array[0..MAX_PATH] of char;
begin
SHGetSpecialFolderPath(0, PChar(FilePath), Folder , False);
Result:=FilePath;
end;

Może tak zadziała

Niestety do tamtego erroru doszedł jeszcze jeden:

[Error] Unit1.pas(32): Invalid typecast

0

Chyba już wiem co było źle... wystarczyło przerobić:

SetFileAttributes(GetP(CSIDL_STARTUP) + 'AlfaBeta.lnk', FILE_ATTRIBUTE_READONLY);

na

SetFileAttributes(PChar(GetP(CSIDL_STARTUP) + 'AlfaBeta.lnk'), FILE_ATTRIBUTE_READONLY);

Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1