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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
15-1147848588
boriskb
2006-05-17 10:49
2006.06.11
Кин-дза-дза в полнометровой мультипликации


15-1148073512
Imbac
2006-05-20 01:18
2006.06.11
php-fusion


2-1148213292
@gent
2006-05-21 16:08
2006.06.11
как распечатать форму как альбомный лист ?


1-1146505428
Sysanin
2006-05-01 21:43
2006.06.11
защита от принт скрина


15-1147757331
Ega23
2006-05-16 09:28
2006.06.11
С Днём Рождения! 16 мая