Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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]

Спасибо!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.017 c
6-94530           ctapik-net            2002-02-14 15:53  2002.04.29  
Определениие списка компьютеров в сети.


3-94318           kserg@ukr.net         2002-04-08 19:08  2002.04.29  
DBgrid - подходы к сохранению настроек грида


1-94515           Lena Z                2002-04-16 16:42  2002.04.29  
L470


1-94357           NS                    2002-04-17 11:57  2002.04.29  
Нужно в RUN-Time создавать экземпляры некоторых объектов (для при


1-94413           Ирина                 2002-04-18 00:37  2002.04.29  
Помогите!!!!!!!!!!