ورود

View Full Version : سوال: تعریف پارامتر های تابع GetWindowText



تجلی
دوشنبه 18 اردیبهشت 1391, 18:23 عصر
سلام.

برای استفاده از تابع GetWIndoewText من وقتی این کد رو امتحان میکنم >>


procedure TForm1.Timer2Timer(Sender: TObject);
var hnd:THandle;
caption:PWIDECHAR;
count:Integer;

begin

hnd:=GetForegroundWindow;
GetWindowText(hnd,caption,256);
.
.
.

end;

برنامه با خطای ACCESS VIOLATION مواجه میشه در حالی که اگر متغیر CAPTION رو به شکل زیر تعریف کنم مشکل حل مشه >


caption:array[0..255] of Char;

اشکال من کجاست ؟ چون توی این تابع میگه پارامتر دوم از نوع PWideChar باید باشه خوب منم caption رو همین طور تعریف میکنم ولی خطا میده .
متشکر میشم توضیح بدید .

Ananas
دوشنبه 18 اردیبهشت 1391, 22:47 عصر
سلام.
به capion باید حافظه اختصاص بدی وقتی اونو از نوع PWideChar انتخاب میکنی خودت مسئول گرفتن حافظه هستی و وقتی به شکل آرایه انتخاب میکنی حافظه بهش اختصاص میدی. PWideChar یک اشاره گر هست.