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

Вниз

Подскажите, что я не так делаю...   Найти похожие ветки 

 
LazyCat ©   (2002-04-17 17:38) [0]

Подскажите, что я не так делаю

var
m,m1 : PChar;

Begin
getmem(m,Length(Msg)+1);
getmem(m1,Length(Msg)+1);
m := PChar(Msg);
CharToOEM(m,m1);
Msg := String(m1);
FreeMem(m,Length(Msg)+1); <- Тут ругается на Invalid pointer operation.
FreeMem(m1,Length(Msg)+1);
end;

Ведь если я выделил память, я её должен освободить. Чего ей надо? Или я чего-то не понял?
пробовал CharToOEM(PChar(Msg),PChar(Msg)); Тогда периодически ругается на USER32.DLL


 
Игорь Шевченко ©   (2002-04-17 17:47) [1]

День добрый,

Сначала у вас переменной m присваивается значение в

> getmem(m,Length(Msg)+1);


а потом это значение затирается

> m := PChar(Msg);


Чего же вы ожидали ?

Надо делать StrCopy(m, PChar(Msg)) и будет вам счастье...

С уважением,


 
LazyCat ©   (2002-04-17 17:53) [2]

Спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
7-94591
Raider
2002-01-08 16:32
2002.04.29
Debuger vs Win XP pro


1-94431
Винни Пух
2002-04-18 12:40
2002.04.29
Как проверить зарегистрирован ли OCX/DLL файл в реестре ?


1-94442
lipskiy
2002-04-05 21:43
2002.04.29
Как описать входной параметр процедуры многовариантно?


4-94648
Феликс
2002-01-28 22:22
2002.04.29
Как установить пароль на папку?


1-94514
Upendra
2002-04-13 10:16
2002.04.29
Есть небольшая проблема с запуском формы и потока из dll