- Код: Выделить всё
var
pHost : PWChar;
...
GetMem(pHost,512);
...
FreeMem(pHost);
Строка FreeMem(pHost) вызывает ошибку.
Добавлено спустя 10 минут 3 секунды:
ДА, в дельфях код работает.
Модератор: Модераторы
var
pHost : PWChar;
...
GetMem(pHost,512);
...
FreeMem(pHost);
Mr.Smart писал(а):Что вы делаете с переменной между вызовов GetMem(pHost,512) и FreeMem(pHost);?
procedure TForm1.btnShareClick(Sender: TObject);
var
A : PShareInfo2Array;
e,te : DWORD;
pHost : PWChar;
i : Integer;
begin
if (IsInit < 0) then begin
exit;
end;
@NetShareEnum := GetProcAddress(hLibrary,'NetShareEnum');
if (NOT Assigned(NetShareEnum)) then begin
exit;
end;
GetMem(pHost,512);
StringToWideChar(Trim(edHost.Text),pHost,512);
if (NetShareEnum(pHost,2,@A,DWORD(-1),@e,@te,NIL) <> 0) then begin
MessageBox(0,' <<< ERROR!!! >>> ','ВНИМАНИЕ',MB_ICONHAND);
FreeMem(pHost);
exit;
end;
if (e > 0) then begin
for i := 0 to e - 1 do begin
M.Lines.Add(String(A^[i].netname));
end;
end;
FreeMem(pHost);
end;
var
Host: WideString;
....
Host:=UTF8Decode(Trim(edHost.Text));
if (NetShareEnum(PWideChar(Host),.......
....
fwp писал(а):М.б. вы что подскажите?
Mr.Smart писал(а):Попробуйте так
- Код: Выделить всё
var
Host: WideString;
....
Host:=UTF8Decode(Trim(edHost.Text));
if (NetShareEnum(PWideChar(Host),.......
....
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1