Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.05;
Скачать: CL | DM;

Вниз

Проблема с FreeMem   Найти похожие ветки 

 
Psychedelic ©   (2006-12-22 01:37) [0]

Всем привет.
Раньше делал так, теперь что -то в KOL не получается.

TLSAUnicodeString = packed record
   Length : WORD;
   MaximumLength : WORD;
   Buffer : PWideChar
 end;


KeyName: TLSAUnicodeString;

Выделяем память -

KeyName.Length:=30;
KeyName.Buffer:=AllocMem(KeyName.Length); (или GetMEM)
// выделяет ок.

FreeMem (KeyName.Buffer) ; А вот здесь AV



В чем дело? Пробовал FreeMem с указанием размера, FreeMemory втч..    Хотя KOL использует API,  пробовал API - GlobalAlloc (фиксированная) - GlobalFree - освобождает , но возвращает почему то 3 (должен 0).
Включил UseDelphiMemoryManager - работает без AV, но можно ли мне без него обойтись (и неизвестно работает ли он правильно)???


 
MTsv DN ©   (2006-12-22 10:15) [1]

> FreeMem (KeyName.Buffer) ; А вот здесь AV
А у меня нет :( (D7SE, WinXPSP2, KOL)


 
Vladimir Kladov   (2006-12-22 20:57) [2]

Чем прикалываться, объяснил бы человеку, что Sizeof( WideChar ) = 2 байтам.


 
Psychedelic ©   (2006-12-23 16:06) [3]

Чем прикалываться, объяснил бы человеку, что Sizeof( WideChar ) = 2 байтам.

К чему это Кладов, может объясните?


 
Psychedelic ©   (2006-12-23 17:07) [4]

Блин с этой работой забыл добавить... При замене сис модулей такое происходит. Это раз. И второе. Это моя ошибка.. :)
в StringToWideChar в destSize добавлял один лишний байт (откуда я это взял??). Сорри за ахтунг.


 
Psychedelic ©   (2006-12-23 17:40) [5]

Та же лажа.

var str: string;

str:="asd";

   KeyName.Length:= Length(str) * SizeOf(WideChar);
   KeyName.Buffer:=AllocMem(KeyName.Length);
   StringToWideChar(str,KeyName.Buffer, KeyName.Length);

   FreeMem(KeyName.Buffer); // AV



Это с заменой сис модулей. :(


 
Psychedelic ©   (2006-12-23 18:00) [6]

Упс, понял. Тут же NULL wide character, ему еще пару байт надо... :)
Поэтому и глючило...


 
Vladimir Kladov   (2006-12-23 18:08) [7]

Поспешишь... (как там дальше-то?)


 
Psychedelic ©   (2006-12-23 19:07) [8]

Ну уж вы тоже поспешили с выводом .



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
15-1183832856
Витян
2007-07-07 22:27
2007.08.05
Windows XP - идеальная операционная система


15-1183660989
iZEN
2007-07-05 22:43
2007.08.05
Популярность Линукса среди разработчиков ПО увеличивается.


1-1180360269
timonissimo
2007-05-28 17:51
2007.08.05
TMainMenu :чтобы меню разместилось на всех формах


2-1183996257
hgd
2007-07-09 19:50
2007.08.05
Процедура sleep


15-1183689416
Slider007
2007-07-06 06:36
2007.08.05
С днем рождения ! 6 июля 2007 пятница