Глупые вопросы

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
ShilakAV
Бывалый
Сообщения: 55
Зарегистрирован: 25 Декабрь 2005, 9:55
Откуда: Амурская область
Благодарил (а): 1 раз

Глупые вопросы

Сообщение ShilakAV »

Вообще-то мне нужно запустить сроку с символом | в функции run. А message мне нужно для контроля. Думал, что если решу проблему с message, то автоматически это решится и в run. Тогда тот же вопрос, но для run. Мне надо запустить команду вида: run('1234 | program.exe -parametr')
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Глупые вопросы

Сообщение Игорь Столяров »

ShilakAV писал(а): 23 Октябрь 2022, 6:25 что если решу проблему с message, то автоматически это решится и в run
С Message() нет никакой проблемы и я не уверен что она есть в Run() ...
Но если возникают какие-то вопросы - используйте прямой запуск через WinAPI: ShellExecute() - на форуме полно примеров.

Код: Выделить всё

Run73                PROCEDURE  (P1,P2) 

  !Module('Windows')  В Global Map
  !  ShellExecute(ushort,*CSTRING,*CSTRING,*CSTRING,*CSTRING,SIGNED),ushort,PASCAL,RAW,NAME('ShellExecuteA')
  !end  
  
loc_W                &WINDOW
loc_lpOperation      CSTRING('open')
loc_lpFileName       CSTRING(255)
loc_lpParameters     CSTRING(255)
loc_lpDirectory      CSTRING(255)
Loc:RetHandle        USHORT

  CODE
  loc_lpFileName    = Clip(Left(P1))
  loc_lpParameters  = Clip(Left(P2))  ! Параметры
  !loc_W            &= SYSTEM{Prop:Target}
  loc_W            &= NULL
  loc_lpDirectory   = Clip(System{Prop:DataPath})
  Loc:RetHandle     = ShellExecute(loc_W{Prop:Handle},loc_lpOperation,loc_lpFileName,loc_lpParameters,loc_lpDirectory,1)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
ShilakAV
Бывалый
Сообщения: 55
Зарегистрирован: 25 Декабрь 2005, 9:55
Откуда: Амурская область
Благодарил (а): 1 раз

Глупые вопросы

Сообщение ShilakAV »

Благодарю, буду пробовать
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

Глупые вопросы

Сообщение Губин Игорь »

Игорь Столяров писал(а): 23 Октябрь 2022, 6:07 Если Вы решительно настроены сделать это против ветра - можно использовать аналог из WinAPI ...
Если программа работает не под AnyScreen, то работа через API, вместо встроенного Message, настоятельно рекомендуется. К сожалению, во встроенном очень много глюков.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Глупые вопросы

Сообщение Игорь Столяров »

Привет всем !

Продолжу тему ...
Если посмотреть CLW файл Multi DLL проекта - то туда шарашится всё что надо и не надо. :(
Например точно могу сказать, что я не юзаю "JSON.INC" и в штатных классах он тоже не используется.

Код: Выделить всё

   PROGRAM
   INCLUDE('cwHH.INC'),ONCE
   INCLUDE('ABASCII.INC'),ONCE
   INCLUDE('ABBREAK.INC'),ONCE
   INCLUDE('ABBROWSE.INC'),ONCE
   INCLUDE('ABCPTHD.INC'),ONCE
   INCLUDE('ABDROPS.INC'),ONCE
   INCLUDE('ABEIP.INC'),ONCE
   INCLUDE('ABERROR.INC'),ONCE
   INCLUDE('ABFILE.INC'),ONCE
   INCLUDE('ABFUZZY.INC'),ONCE
   INCLUDE('ABGRID.INC'),ONCE
   INCLUDE('ABPOPUP.INC'),ONCE
   INCLUDE('ABPRHTML.INC'),ONCE
   INCLUDE('ABPRNAME.INC'),ONCE
   INCLUDE('ABPRPDF.INC'),ONCE
   INCLUDE('ABPRTARY.INC'),ONCE
   INCLUDE('ABQEIP.INC'),ONCE
   INCLUDE('ABQUERY.INC'),ONCE
   INCLUDE('ABREPORT.INC'),ONCE
   INCLUDE('ABRESIZE.INC'),ONCE
   INCLUDE('ABTOOLBA.INC'),ONCE
   INCLUDE('ABTBLSYN.INC'),ONCE
   INCLUDE('ABUTIL.INC'),ONCE
   INCLUDE('ABVCRFRM.INC'),ONCE
   INCLUDE('ABWINDOW.INC'),ONCE
   INCLUDE('ABWMFPAR.INC'),ONCE
   INCLUDE('CWSYNCHC.INC'),ONCE
   INCLUDE('CLARUNEXT.INC'),ONCE
   INCLUDE('EFOCUS.INC'),ONCE
   INCLUDE('ERRORS.CLW'),ONCE
   INCLUDE('JSON.INC'),ONCE
   INCLUDE('KEYCODES.CLW'),ONCE
   INCLUDE('QPROCESS.INC'),ONCE
   INCLUDE('TRIGGER.INC'),ONCE
   INCLUDE('WINEXT.INC'),ONCE
   INCLUDE('ABPRI2PDF.INC'),ONCE
   INCLUDE('ABPRTARG.INC'),ONCE
   INCLUDE('ABPRTEXT.INC'),ONCE
   INCLUDE('ABPRXML.INC'),ONCE
   INCLUDE('ABRPATMG.INC'),ONCE
   INCLUDE('ABRPPSEL.INC'),ONCE
   INCLUDE('ABRULE.INC'),ONCE
   INCLUDE('CFILTBASE.INC'),ONCE
   INCLUDE('CFILTERLIST.INC'),ONCE
   INCLUDE('MDISYNC.INC'),ONCE
   INCLUDE('RTFCTL.INC'),ONCE
   INCLUDE('SVGRAPH.INC'),ONCE
   INCLUDE('SVGRAPHB.INC'),ONCE
И если собрать то же самое, как проект Single EXE - то такого беспредела уже нет.
Где вообще может быть этот список включаемого в проект штатного кода ? В шаблонах не нашёл ... :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Глупые вопросы

Сообщение Admin »

Что то похожее из ABC Free использовали что бы исключить ненужное. Не уверен что этот шаблон.

Код: Выделить всё

#EXTENSION(ClassExcludeABCClasses,'Class:  Exclude global classes generation in DLLs'),APPLICATION,MULTI 
А включаются по моему все инклюды с !ABCIncludeFile в начале.
Что бы ты любой класс в дальнейшем мог использовать у себя в DLL без перекомпиляции основной.
Думаю так.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Глупые вопросы

Сообщение Игорь Столяров »

Admin писал(а): 02 Декабрь 2022, 10:52 А включаются по моему все инклюды с !ABCIncludeFile в начале
К сожалению, не помогло. :nono:
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Глупые вопросы

Сообщение Admin »

Игорь Столяров писал(а): 02 Декабрь 2022, 12:22 К сожалению, не помогло.
Я же говорю. За шаблон не уверен. Но вроде он.
Там важное сообщение есть:
WARNING: If you have generated this application, you must regenerate the ABC File Classes before, pressing "Edit as a marked list" or you will lose your current settings
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Глупые вопросы

Сообщение Игорь Столяров »

Всё-таки основной косяк синтаксиса Clarion - это отсутствие логического типа с контролем булевых операций. :(
Пол-дня искал в чужом "кирпичиком" коде проблему, и судя по всему это тупо малозаметная описка.

Код: Выделить всё

  If ~TheFlag = 0
     ...
  end
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить