Вниз
Скачать: CL | DM;

Выделить память в dll   Найти похожие ветки 

← →
Test_unit   (2011-02-07 18:41) [0]

Здравствуйте. Такая проблема. Имеется буффер pbyte. Я хочу чтоб он иницелизировался в моей длл. Вроде как иницилизируется но при фреемем прога валится. Что я делаю не так? Вот код.

/////////////////////Project2.dll/////////////////

procedure test (Buff:pbyte;Size:integer) ;STDCALL;
begin
if Buff <> nil then  Buff      := nil;
 ReAllocMem(Buff, Size);
end;
///////////////////////////////////////////////////

////////////////////////Программа///////////////////////

procedure test(Buff:pbyte;Size:integer); STDCALL; external "Project2.dll";

........

procedure TForm1.Button1Click(Sender: TObject);
var
P:pbyte;
begin
  test(p,1000000);
  freemem(p);
  p:=nil;
end;


← →
Игорь Шевченко ©   (2011-02-07 18:43) [1]


> Что я делаю не так?


Не читаешь комментарий в проекте DLL


← →
Test_unit   (2011-02-07 18:47) [2]

Это про borland.dll ? Читал.. А если я захочу заюзать свою длл в другом проекте на другом ЯП. Тут как быть? Постоянно с собой таскать эту длл?


← →
Игорь Шевченко ©   (2011-02-07 18:51) [3]


>  Читал..


Еще раз прочитай.


> Тут как быть?


HeapAlloc/HeapFree, VirtualAlloc/VirtualFree


← →
_Юрий   (2011-02-07 19:27) [4]


> Вроде как иницилизируется но при фреемем прога валится.
> Что я делаю не так?


У проги и библиотеки по умолчанию разные менеджеры памяти.
Ты у одного менеджера запросил память, а другому приказываешь ее освободить.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
2-1296726397
kxft78
2011-02-03 12:46
2011.05.15
проверка вводимого значения


1-1254196934
Mery
2009-09-29 08:02
2011.05.15
использовать SaveDialog для сохранения таблицы из gridа.


3-1258736999
Незнайка
2009-11-20 20:09
2011.05.15
like в delphi


2-1297326626
Максон
2011-02-10 11:30
2011.05.15
как открыть вордовский документ с помощью OpenDialog


15-1296654628
int64
2011-02-02 16:50
2011.05.15
Как попасть на RSDN.ru?




   Наверх