Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

В чем фишка?   Найти похожие ветки 

 
Александра ©   (2003-02-07 18:49) [0]

В DLL функция возвращает результат в формате PChar. Предварительно результат формируется во внутренней переменной res типа string. Пишу result := @res - не работает... результирующая строка отображалась заполненной пробелами (или во всяком случае нужной длины, но с не ASCII символами). Пишу result := PChar(res) все работает правильно.
Насколько я понимаю, PChar по сути указатель на строку, так в чем разница между этими вариантами? И почему в первом случае я получала такой странный результат?


 
Романов Р.В. ©   (2003-02-07 19:04) [1]

@res - Адресс указателя на строку а не самой строки


 
anbezr   (2003-02-07 19:17) [2]

Во первых: дело в размере элемента
Во вторых: PChar всегда кончается нулём.


 
Романов Р.В. ©   (2003-02-07 19:28) [3]

var
s: string;
begin
s := "Fssssss";
ShowMessage("Адресс указателя на строку "+IntToStr(Integer(@s))+#10#13+
"Адресс строки "+IntToStr(Integer(PChar(s)))+#10#13+
"Адресс строки "+IntToStr(Integer(PInteger(@s)^))+#10#13+
"Первый символ строки "+PChar(PInteger(@s)^)^);
end;


 
Александра ©   (2003-02-08 11:32) [4]

Спасибо за ликбез, очень помогло.



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

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-53278
Шишкин Илья
2003-02-02 11:55
2003.02.17
Задал вопрос, а ответить никто не может


1-53098
jen_bond
2003-02-06 08:27
2003.02.17
Прблема переполнения стека!


1-52949
Konstantin
2003-02-09 16:37
2003.02.17
Нужен алгоритм сортировки


14-53216
Delirium^.Tremens
2003-01-31 14:35
2003.02.17
Кадровая политика vs Национальный вопрос


14-53276
bomberman
2003-02-01 03:18
2003.02.17
Проблема с загрузкой Delphi 5