Вниз
Скачать: 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.013 c
3-64543
BJValentine
2002-04-23 09:35
2002.05.20
MySQL-What it this?


3-64549
ao1973
2002-04-23 21:25
2002.05.20
BDE не хочет юзать MSACESS


3-64522
Пикулев Евгений
2002-04-23 07:45
2002.05.20
Как с помощью SQL отсортировать выходное значение таблицы


1-64705
Антон Лагутин
2002-05-06 17:21
2002.05.20
shortcuts


6-64751
SB.John
2002-03-06 09:12
2002.05.20
Как клиенту найти сервер.




   Наверх