Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.05.15;
Скачать: [xml.tar.bz2];

Вниз

Выделить память в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
2-1296568705
Rembo
2011-02-01 16:58
2011.05.15
Обмен пакетами между сервером и клиентом


9-1189256130
walde
2007-09-08 16:55
2011.05.15
Тормознутость??


2-1297089446
Сергей
2011-02-07 17:37
2011.05.15
Как расширить чужой ActiveX?


2-1297060368
Сергей
2011-02-07 09:32
2011.05.15
Счётчик


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский