![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, что я не так делаю... [D6, Win2k]
LazyCat © (2002-04-17 17:38:00)Подскажите, что я не так делаю
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
LazyCat (2002-04-17 17:53:00) [1]Спасибо!
Игорь Шевченко (2002-04-17 17:47:00) [2]День добрый,
Сначала у вас переменной m присваивается значение в
> getmem(m,Length(Msg)+1);
а потом это значение затирается
> m := PChar(Msg);
Чего же вы ожидали ?
Надо делать StrCopy(m, PChar(Msg)) и будет вам счастье...
С уважением,