![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем доброго времени суток!
Народ кто знает подскажите плиз. Надо создать процу с необязательным входящем параметром или второму параметру присваивать определенное значение в качестве по-умолчанию если оно не передоется. смысл такой: Код:
type TCliType = (New,Edit,View); ... procude EditCli(TypeCli: TCliType,CliID: variant); begin case TypeCli of New: Proc1; Edit: Proc2(CliID); View: Proc3(CliID); end; end; ... // вызов в идеале EditCli(New); Editcli(Edit,GetVal('ID')); EditCli(View,GetVal('ID')); как видно для вызова с параметром New передавать второй параметр не нужно. Даже не знаю как поступить может передавать типа 0 (все равно не используется)? Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит Прапор: вы не попали ни один раз. Программист: Пули вылетели, проблемы у вас. Последний раз редактировалось Admin, 23.09.2008 в 10:28. |
#2
|
|||
|
|||
![]() Параметр типа variant не может иметь значения по умолчанию.
И чего так мучиться, если Proc1 все равно не имеет параметров. Ну передать в этом случае NULL и все дела (EditCli(New, NULL). Слово New в Delphi зарезервировано и применять его в качестве имени перечисляемого типа не корректно. Не забывайте делать резервные копии Последний раз редактировалось san-46, 23.09.2008 в 11:09. |
#3
|
|||
|
|||
![]() В том то и дела что null не передается. решил пока вопрос при помоши передачи нуля (0).
Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит Прапор: вы не попали ни один раз. Программист: Пули вылетели, проблемы у вас. |
#4
|
|||
|
|||
![]() Передавай nil
|
#5
|
|||
|
|||
![]() Цитата:
некатит, ошибка. [Error] unitAgent.pas(23750): Incompatible types: 'Variant' and 'Pointer' [Fatal Error] Agents.dpr(12): Could not compile used unit 'unitAgent1C.pas' Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит Прапор: вы не попали ни один раз. Программист: Пули вылетели, проблемы у вас. |
#6
|
|||
|
|||
![]() Код:
procude EditCli(TypeCli: TCliType; CliID: variant = null); Вот так. Дефолтными могут быть только последние параметры. Еще вопрос. А зачем ты используешь вариант, когда у тебя там явный тип (Integer)? |
#7
|
|||
|
|||
![]() У меня не явный тип данных. Эт я так для примера. Использую DOA. А там может быть и Число и строка и SubStraction и все насвете.
Все равно не катит ругается все равно просит указать второе значение. Ладно буду указывать че нить все равно использоваться не будет. Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит Прапор: вы не попали ни один раз. Программист: Пули вылетели, проблемы у вас. |