Вниз
Скачать: CL | DM;

Вопрос по OemToChar   Найти похожие ветки 

← →
Марина   (2002-03-19 10:08) [0]

Подскажите, пожалуйста, почему вот такой код

Memo1.Lines.LoadFromFile("astra.cod");
Src := Memo1.Lines.GetText;
OemToChar(Src, Str);
Memo1.Lines.Text := StrPas(Str);

дает ошибку времени выполнения типа EAccessViolation на строке OemToChar(Src, Str), но после повторного нажатия на F9 тем не менее отрабатывает. Заранее спасибо.


← →
Shaman_Naydak ©   (2002-03-19 10:36) [1]

ошибка вылетает из-за того, что под Str ты память не выделил.
Лови гитару
var S: string;
begin
Memo1.Lines.LoadFromFile("astra.cod");
S:=Memo1.Text;
OemToChar(PChar(S), PChar(S));
Memo1.Text:=S;
end;


← →
McSimm ©   (2002-03-19 10:37) [2]

Это происходит потому, что под Str не выделена память. Необходимо перед вызовом oemtochar обеспечить необходимую длину Str, например SetLength.

Также можно воспользоваться самой Src для получения результата:
OemToChar(PChar(Src), PChar(Src));
Memo1.Lines.Text := Src



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-64543
BJValentine
2002-04-23 09:35
2002.05.20
MySQL-What it this?


3-64464
Стас
2002-04-25 09:23
2002.05.20
Количество полей в БД


14-64828
matt
2002-04-10 21:47
2002.05.20
...


3-64476
Юляша
2002-04-21 08:25
2002.05.20
Каскадное удаление


3-64511
Гаврик
2002-04-23 12:38
2002.05.20
Работа с Interbase базами напрямую без IBServer и BDE.




   Наверх