OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 14:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 10:23 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Есть такое -
Код:
PROCEDURE ClientCardView* (cclid: INTEGER; IN cclname: Views.Title);
   ....
   Strings.IntToString(cclid, clidstr);
   CardQStr := "select cl.Ptn_Rcd,cl.Ptn_CdSrt,ptng.PtnGrp_Nmk,cl.Ptn_Inn,cl.Ptn_OKONX,cl.Ptn_SchRch from ptnrk cl left join ptngrpk ptng on cl.PtnGrpk_rcd=ptng.ptngrpk_rcd where Ptn_Rcd=" + clidstr;
   Open;
   table.Exec(CardQStr);
   IF table.res # SqlDB.noData THEN
      table.Read(1, ClientCard);
      PathToLoc("../ISPROCRM/", loc);
      CardView := Views.OldView(loc, "tstdoc");
      CardModel := CardView(TextViews.View).ThisModel();
      ..................
      Views.OpenAux(CardView, 'Карточка клиента: ' + cclname);

   END
END ClientCardView;

PROCEDURE Test*;
BEGIN
   ClientCardView(335, 'тест');
END Test;
Модератор: к исходному тексту применён стиль "код".
Так вот ,коммандер
"ISPROClient.ClientCardView(335,'test')" выдает ошибку syntax error,а
ISPROClient.Test - нормалек. В чем тут загогулина? :D

То же самое западло имеет место при вызове изпод гиперссылки. :(
а вот при перестановке параметров - работает! Нехорошее дело.Абсолютное зло.
:D "ISPROClient.Test('ааа',5,10)"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 11:50 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
См. StdInterpreter. Там указано, процедуры какого типа могут быть вызваны. Для 1.5, например, есть:
Код:
Proc = PROCEDURE
ProcSI = PROCEDURE (s: ARRAY OF CHAR; x: INTEGER)
ProcSII = PROCEDURE (s: ARRAY OF CHAR; x, y: INTEGER)
И нету
Код:
PROCEDURE (x: INTEGER; s: ARRAY OF CHAR)
См. также Dialog.Call.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 12:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Клоп Говорун писал(а):
а вот при перестановке параметров - работает! Нехорошее дело.Абсолютное зло.
Признаться, меня тоже несколько жмёт ограниченность разрешенных вариантов передачи параметров в коммандере. Не особо сложно обойтись и так, но, например, для начинающих писать лишнюю процедуру ввода -- чрезмерно.

Я понимаю, "тебе надо -- ты и напиши".
Но, может, кому-то еще надо? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 12:20 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Не надо забывать, что в 1.6 свободы гораздо больше:
BB1.6, StdInterperter docu писал(а):
Command = Call { ";" Call }.
Call = ModuleName "." ProcedureName [ "(" Parameter { "," Parameter } ")" ].
Parameter = Integer | String.
Integer = Decimal | Hex.
Decimal = [ "-" ] Digit { Digit }.
Hex = [ "-" ] HexDigit { HexDigit } "H".
String = " ' " { Char } " ' ".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 13:24 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Евгений Темиргалеев писал(а):
Не надо забывать, что в 1.6 свободы гораздо больше:


Ух ты, а я и не знал. Ещё один стимул к переходу на 1.6!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 14:25 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
Не надо забывать, что в 1.6 свободы гораздо больше:
Нельзя забыть, чего не знаешь.

Спасибо.

Но REAL всё равно нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 14:34 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Клоп Говорун писал(а):
а вот при перестановке параметров - работает! Нехорошее дело.Абсолютное зло.
Признаться, меня тоже несколько жмёт ограниченность разрешенных вариантов передачи параметров в коммандере. Не особо сложно обойтись и так, но, например, для начинающих писать лишнюю процедуру ввода -- чрезмерно.

Я понимаю, "тебе надо -- ты и напиши".
Но, может, кому-то еще надо? :)

А какая проблема написать обертку из 2 строчек?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 16:09 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
А какая проблема написать обертку из 2 строчек?
Так там не две строчки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 16:54 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Патамушта надо было предусмотреть. И в документации нигде нету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 17:44 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Валерий Лаптев писал(а):
А какая проблема написать обертку из 2 строчек?
Так там не две строчки.

Я правильно понимаю, что приходится подгонять параметры реально вызываемой процедуры под два параметра, разрешенные в коммандере?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 18:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Info21 писал(а):
Валерий Лаптев писал(а):
А какая проблема написать обертку из 2 строчек?
Так там не две строчки.

Я правильно понимаю, что приходится подгонять параметры реально вызываемой процедуры под два параметра, разрешенные в коммандере?
Нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 18:13 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Клоп Говорун писал(а):
Патамушта надо было предусмотреть.
Всего не предусмотришь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 18:45 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Нет.

Видимо, вы меня не совсем поняли. Допустим, мне нужно в коммандере вызвать процедуру с тремя параметрами, не совпадающими по типам с разрешенными для комаандера.
Я пишу процедуру обертку с двумя разрешенными параметрами. Внутри ее я пытаюсь параметры моей процедуры "подогнать" под два разрешенных.. То есть, процедура-обертка получает два разрешенных параметра, а потом из них делает три нужных в моей реальной процедуре и вызывает мою процедуру с нужными ей аргументами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нехорошее дело с коммандерами.
СообщениеДобавлено: Пятница, 19 Июнь, 2009 20:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Info21 писал(а):
Нет.

Видимо, вы меня не совсем поняли.
Я понял.

Если разрешена доп. процедура, то проще заставить читать нужные параметры из потока ввода без возни с представлением.
Это несколько строк, но в некоторых условиях такой оверхед чрезмерен.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB