Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизString, PChar и {$H+}/{$H-} Найти похожие ветки
← →
Германн © (2006-05-07 01:34) [0]Совсем я запутался. Может поможете?
Итак. Есть функция:SomeFunction(St1,St2,St3 : String)
описанная в модуле, в котором {$H+}. В другом модуле, в котором {$H-}, производится вызов вышеупомянутой функции. Понятно, что в качестве параметров St1,St2,St3 я могу передать только переменные описанные как AnsiString. Но как быть с "временными" переменными, которые создаёт сам компиллятор, типа:
type
TNewCmd = class
Cmd, Obj : String;
...
end;
var
St : String;
dd : Integer;
NewCmd : TNewCmd;
SomeFunction("pid="+IntToStr(PID),NewCmd.Cmd,"object="+NewCmd.Obj);
Только что с удивлением обнаружил, что второй параметр именно такой.
Собственно вопрос: Ждут ли меня на этом пути "подводные камни"?
← →
DrPass © (2006-05-07 02:05) [1]
> Понятно, что в качестве параметров St1,St2,St3 я могу передать
> только переменные описанные как AnsiString.
Почему? Можешь передавать и shortstring, и даже pchar.
> Но как быть с "временными" переменными, которые создаёт
> сам компиллятор, типа:
Компилятор сам разберется, его ведь не в бета-версии тебе дали, что-что, а такую ерунду в нем предусмотрели.
← →
Германн © (2006-05-07 02:22) [2]
> DrPass © (07.05.06 02:05) [1]
Может быть, может быть, кто знает? :-)
Но вот сейчас "почувствовал" разницу между "вызовом обработчика событий компоненты" и "вызова функции из другого модуля".
> Компилятор сам разберется, его ведь не в бета-версии тебе
> дали...
На компиллятор надейся, а сам не плошай! :-)
← →
Anatoly Podgoretsky © (2006-05-07 10:21) [3]Компилятор знает какого типа параметры у функции и сам преобразует их.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c