Russian Qt Forum

Qt => Общие вопросы => Тема начата: -QT- от Октябрь 04, 2007, 12:28



Название: DOS окно при запуске (или пересобирайте файл переводов)
Отправлено: -QT- от Октябрь 04, 2007, 12:28
В приложении существует блок обработки передаваемых параметров в Linux отработка нормально в Windows
вываливается досовское окошко и не исчезает б...я , что делать па.....ла с этим виндовозом. Помогите кто сталкивался.

=Приложение GUI нужно запускать с параметрами.
пример кода:
Код:
    for (int x=1; x<argc; x++)
    {
        if ( QString("-l").compare(argv[x])==0 || QString("--languige").compare(argv[x])==0 && x<argc-2 )
            translationLanguage = argv[x+1];
        ...
        else if ( ...
        ...
        else if ( QString("-h").compare(argv[x])==0 || QString("--help").compare(argv[x])==0 )
            help = true;
    }


Название: Re: Windows и обработка параметров запуска бинарника.
Отправлено: Dendy от Октябрь 04, 2007, 13:33
Каким образом разбор параметров влияет на появление консоли? Может забыли сменить SUBSYSTEM на CONSOLE и входить через WinMain?


Название: Re: Windows и обработка параметров запуска бинарника.
Отправлено: Mikhail от Октябрь 04, 2007, 13:37
НЕплохо было бы посмотреть документацию:
int QString::compare ( const QString & other ) const
Ты производишь сравнение не с QString.
Я бы использовал QStringList QCoreApplication::arguments ()
Копй в эту сторону.


Название: Re: Windows и обработка параметров запуска бинарника.
Отправлено: Mikhail от Октябрь 04, 2007, 13:53
Не совсем прав.
У тебя глюк скорее всего в том коде который ты не показал.
Разбор командной троки проходит нормально без вылета.


Название: Re: Windows и обработка параметров запуска бинарника.
Отправлено: -QT- от Октябрь 04, 2007, 15:50
Не совсем прав.
У тебя глюк скорее всего в том коде который ты не показал.
Разбор командной троки проходит нормально без вылета.

Все может быть...
НО - Перезагрузил винду пересобрал программу  ------ И в итоге:
Из под QDevelop она(программа) грузится теперь без этого окна а если запускаю из проводника то опять это окно появляется!!!!!!!
В.... яюе на....мл...фу.... хцчшщ.

В итоге после пересборки файла перевода все пошло на ура.
ПОЭТОМУ ГЛАВНОЕ ЛЕКАРСТВО ВСЕГДА: Почистить все файлы кроме исходников, пересобрать все ресурсы и переводы.
А главное молиться и молиться на могущественного виндовоза  ;D ;D ;D  :D  :o


Название: Re: DOS окно при запуске (или пересобирайте файл переводов)
Отправлено: Sergeich от Октябрь 04, 2007, 16:10
В прошнике CONFIG += console стоит?


Название: Re: Windows и обработка параметров запуска бинарника.
Отправлено: Icoz от Октябрь 04, 2007, 22:07
Из под QDevelop она(программа) грузится теперь без этого окна а если запускаю из проводника то опять это окно появляется!!!!!!!
Правильно. У QDevelop своя консоль, вывод просто идет туда... ;) Когда без Qdevelop, то обязательно появится консоль.
В прошнике CONFIG += console стоит?
А вот ты прав. :)
Если проект писал в лине в Qdevelop, то он там по умолчанию задает console. Соотвественно потом в винде при сборке у тебя консоль и появляется. ;)


Название: Re: Windows и обработка параметров запуска бинарника.
Отправлено: -QT- от Октябрь 05, 2007, 09:14
Из под QDevelop она(программа) грузится теперь без этого окна а если запускаю из проводника то опять это окно появляется!!!!!!!
Правильно. У QDevelop своя консоль, вывод просто идет туда... ;) Когда без Qdevelop, то обязательно появится консоль.
В прошнике CONFIG += console стоит?
А вот ты прав. :)
Если проект писал в лине в Qdevelop, то он там по умолчанию задает console. Соотвественно потом в винде при сборке у тебя консоль и появляется. ;)

С первым высказыванием согласен. У QDevelop своя консоль вывода.
А вот с предположением что по умолчанию пихает console в pro-файл такого нет:
Код:
QT += core gui sql network
CONFIG += assistant \
 qt \
 warn_on \
 release
Более ничего не вижу.
Вот Только почему после пересборки qm-ного файла все заработало как нужно. Или гдето еще есть возможность прописывать
console ? , мутькакаятовообще.