Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.15;
Скачать: 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 вся ветка

Текущий архив: 2011.05.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.005 c
15-1296336581
Юрий
2011-01-30 00:29
2011.05.15
С днем рождения ! 30 января 2011 воскресенье


2-1296731036
student22
2011-02-03 14:03
2011.05.15
WebSnap


15-1296212454
qazxsw
2011-01-28 14:00
2011.05.15
Быстрый вывод пикселей на канву


15-1296595780
Юрий
2011-02-02 00:29
2011.05.15
С днем рождения ! 2 февраля 2011 среда


2-1296743758
Неважно
2011-02-03 17:35
2011.05.15
Объединение таблиц