PDA

View Full Version : مشکل عدم تطابق نوع متغیر و پارامتر تابع



MOJTABAATEFEH
دوشنبه 03 شهریور 1393, 08:26 صبح
با سلام
دوستان عزیز این کد در دلفی 7 و 2010 کار میکنه برای بدست آوردن مسیر پوشه ویندوز ولی در XE4 که تست کردم کار نمیکنه و خطای ذیل رو نمایش میده


[dcc32 Error] Main.pas(66): E2010 Incompatible types: 'PAnsiChar' and 'array[0..255] of Char'




procedure TForm1.FormCreate(Sender: TObject);
var
PWindowsDir: array [0..255] of Char;
begin
GetWindowsDirectoryA(PWindowsDir,255);
CoInFile := TINIFile.Create(StrPas(PWindowsDir)+'\System32\Co. ini');
o := true;
end;





لطفا بفرمایید چطور بایستی این مشکل حل شود؟

با تشکر

BORHAN TEC
دوشنبه 03 شهریور 1393, 09:34 صبح
با سلام،
شما می توانید از کد زیر برای این منظور استفاده کنید:
procedure StrResetLength(var S: WideString);var
I: Integer;
begin
for I := 0 to Length(S) - 1 do
if S[I + 1] = #0 then
begin
SetLength(S, I);
Exit;
end;
end;


function GetWindowsFolder: WideString;
var
Required: Cardinal;
begin
Result := '';
Required := GetWindowsDirectory(nil, 0);
if Required <> 0 then
begin
SetLength(Result, Required);
GetWindowsDirectory(PChar(Result), Required);
StrResetLength(Result);
Result := IncludeTrailingPathDelimiter(Result);
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetWindowsFolder);
end;
موفق باشید...