Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизПодскажите, что я не так делаю... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c