Прикольно. Вроде хотел без dll собрать, с одним exe-шником.
Clarion 11-12
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Clarion 11-12
We are hard at work… for you.
Clarion 11-12
про вызовы w1 w2 ( см.выше ) Запускаю main в w2 через start ( main,2400 ) - тишина. Вызываю просто main - запускается, но в диспетчере как будто 2 раза запущенный exe ( приложение.exe(2) ) ??
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Clarion 11-12
2400 наверно маловато. Нужно 25000 или 35000. Да и вообще непонятно зачем запускать через start. Start для запуска внутри фрейма.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Clarion 11-12
Мне непонятно как у Вас организована программа. Вызывать фрейм надо без start'а. У меня программа может быть устроена похоже как у Вас. Сначала в source процедуре считываются настройки коннекта к серверу, коннектится к нему, вызывается диалоговое окно с приглашением пользователя и выбором модуля ("Бухгалтерия", "Торговля", ...). И вызывается конкретный фрейм, без start'а. Вот так, банально:
Код: Выделить всё
case GLO:ProgramName
of 'Торговля'
MainTrade
of 'Бухгалтерия'
MainAcc
of 'Производство'
MainProd
of 'Зарплата и Кадры'
MainStaff
...
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
Clarion 11-12
A не проще будет запустить Main (AppFrame) и в нём сделать вызов процедур для получения настроек ?
Например до OpenFiles. Без всяких Start() - здесь не нужны потоки.
Например до OpenFiles. Без всяких Start() - здесь не нужны потоки.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Clarion 11-12
Да, есть вот такой вариант. Во фрейме, до "Open Files":
Код: Выделить всё
if PAROL(2)
return Level:Cancel
end
We are hard at work… for you.
Clarion 11-12
я расписарил выше - w1 вызывает w2 вызывает main - все это прекрасно работает в с63 (abc mssql) уже с десяток лет
в с11 эта схема не будет работать получается ?
И еще в main у меня уже объявлены в схеме таблиц несколько MSSQL таблиц. Где эта embed перед open files - чтоб я мог впихнуть пути к этим таблицам ?
в с11 эта схема не будет работать получается ?
И еще в main у меня уже объявлены в схеме таблиц несколько MSSQL таблиц. Где эта embed перед open files - чтоб я мог впихнуть пути к этим таблицам ?
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
Clarion 11-12
Абсолютно точно могу Вам сказать, что C11 - это не C63.
Нет смысла жаловаться, что там работало, а тут не работает.
Тем более, что Вы пропустили развитие и изменения в С7-С10.
Ну и в любой схеме работы должен быть некий здравый смысл, наверное ...
За теми кто отстал - не возвращаться. (С) Кодекс
Clarion 11-12
А чего "нездравого" в схеме - w1 - connect для sql server - вызывает w2 со списком пользователей (mssql tabl ) - затем запускается main с sql tabl у которого перед openwindow hide- ятся те или иные пункты меню в menubar и buton-ы в toolbar-е в зависимости от прав каждого пользователя
?
?
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
Clarion 11-12
Всё предельно круто. Но зачем в этих запусках используется запуск потока Start() ?
Если позволите, я процитирую кусочек описания из справки:
Т.е. грубо говоря: Вы даёте команду на запуск потока и сразу завершаете работу приложения.Выполнение кода в последовательности запуска немедленно продлевается следующим за START выражением и длится, пока выражение ACCEPT не будет выполнено.
Здесь начинается игра "кто быстрей". В C63 быстрей запускался поток и блокировал завершение приложения.
Видимо в C11 поток инициализируется дольше и на момент его запуска приложение уже успело завершиться.
За теми кто отстал - не возвращаться. (С) Кодекс
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
Clarion 11-12
Поставьте какой-нибудь Message('Сейчас запустим MAIN !') перед запуском MAIN.
И Message('Запустили MAIN !') внутри MAIN, что бы понять где именно у Вас происходит несчастье.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Clarion 11-12
Если что, то это метод Init WindowManager'а. На самом деле проблема может быть в другом. Может приведёте код, который не работает? Я, например, не понимаю как всё организовано.
We are hard at work… for you.
Clarion 11-12
Приложение запускается без проблем. Но в процессах как будто дублируется - загружено Имя.exe(3) Окна w1 w2 не закрываются - не срабатывает команда close(window) - из-за них похоже exe(3) В открывшемся приложении при закрытии некоторых окон - зависает все