Глупые вопросы
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- ShilakAV
- Бывалый
- Сообщения: 55
- Зарегистрирован: 25 Декабрь 2005, 9:55
- Откуда: Амурская область
- Благодарил (а): 1 раз
Глупые вопросы
Вообще-то мне нужно запустить сроку с символом | в функции run. А message мне нужно для контроля. Думал, что если решу проблему с message, то автоматически это решится и в run. Тогда тот же вопрос, но для run. Мне надо запустить команду вида: run('1234 | program.exe -parametr')
- Игорь Столяров
- Ветеран движения
- Сообщения: 7409
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Глупые вопросы
С 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)
За теми кто отстал - не возвращаться. (С) Кодекс
- Губин Игорь
- ✯ Ветеран ✯
- Сообщения: 2351
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 19 раз
Глупые вопросы
Если программа работает не под AnyScreen, то работа через API, вместо встроенного Message, настоятельно рекомендуется. К сожалению, во встроенном очень много глюков.Игорь Столяров писал(а): ↑23 Октябрь 2022, 6:07 Если Вы решительно настроены сделать это против ветра - можно использовать аналог из WinAPI ...
Это я только кажусь дураком! На самом деле я полный идиот!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7409
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Глупые вопросы
Привет всем !
Продолжу тему ...
Если посмотреть CLW файл Multi DLL проекта - то туда шарашится всё что надо и не надо.
Например точно могу сказать, что я не юзаю "JSON.INC" и в штатных классах он тоже не используется.
И если собрать то же самое, как проект Single EXE - то такого беспредела уже нет.
Где вообще может быть этот список включаемого в проект штатного кода ? В шаблонах не нашёл ...
Продолжу тему ...
Если посмотреть 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
Где вообще может быть этот список включаемого в проект штатного кода ? В шаблонах не нашёл ...
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Глупые вопросы
Что то похожее из ABC Free использовали что бы исключить ненужное. Не уверен что этот шаблон.
А включаются по моему все инклюды с !ABCIncludeFile в начале.
Что бы ты любой класс в дальнейшем мог использовать у себя в DLL без перекомпиляции основной.
Думаю так.
Код: Выделить всё
#EXTENSION(ClassExcludeABCClasses,'Class: Exclude global classes generation in DLLs'),APPLICATION,MULTI
Что бы ты любой класс в дальнейшем мог использовать у себя в DLL без перекомпиляции основной.
Думаю так.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7409
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 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
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7409
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Глупые вопросы
Всё-таки основной косяк синтаксиса Clarion - это отсутствие логического типа с контролем булевых операций.
Пол-дня искал в чужом "кирпичиком" коде проблему, и судя по всему это тупо малозаметная описка.
Пол-дня искал в чужом "кирпичиком" коде проблему, и судя по всему это тупо малозаметная описка.
Код: Выделить всё
If ~TheFlag = 0
...
end
За теми кто отстал - не возвращаться. (С) Кодекс