![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
указатели
AllDer © (2006-02-14 00:42:00)пишу в памяти
m:=GlobalAlloc(GMEM_ZEROINIT,100);
m2:=GlobalLock(m);
проверочки есть ,все работает 0 и nil
есть функция
// p - указатель откуда брать данные и все длину
копируем в m2
function Writes(p:pointer; Count: Longint): Longint;
begin
TRY
Move(m2,p,Count);
END;
EXCEPT
messageBox(0,'no write!!!NO FREE FOOD S!!!! :( FU@&','',0);
END;
end;
пишу в памяти
var
W:BYTE;
W:=255;
Writes(@W,Sizeof(W));
проверяю ,а там нето в памяти ?
пробывал на ура менять m2 p^ m2^ p неработает
и получаю мессагу ошибки
проверял сбрасывая в файл WriteFile(H,m2^,1,r,nil);
поидее должно символ 'я' а там символ типа chr(0)
begin...end (2006-02-14 08:00:00) [1]> AllDer (14.02.06 00:42)
> Move(m2,p,Count)
Move(p^, m2^, Count)
Delphi_is_cool (2006-02-14 06:00:00) [2]
var
W: LongWord;
PW: Pointer;
Form1: TForm1;
implementation
{$R *.dfm}
procedure Writes(P: Pointer; Count: Integer);
begin
CopyMemory(PW, P, Count);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
W := GlobalAlloc(GMEM_ZEROINIT, 100);
PW := GlobalLock(W);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
GlobalUnlock(W);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
B: Byte;
begin
B := $FF;
Writes(@B, SizeOf(Byte));
ShowMessage(IntToStr(PLongWord(W)^));
end;