Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246

Не работает GLWF если запускать из другого приложения

29.04.2020, 14:32. Показов 617. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть отдельное приложение Лаунчер, из которого запускаю Клиент:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Thread test = new Thread(new Runnable() {
                @Override
                public void run() 
                {
                    try {
                                    ProcessBuilder p = new ProcessBuilder(new File("").getAbsolutePath() + "\\bin\\VEE.exe", ip.trim(), Integer.toString(port).trim());
                        Process proc = p.start();
                        try ( BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream())) ) {
                            String line;
                            while ((line = br.readLine()) != null) {
                                System.out.println("Client: <" + line + ">");
                            }
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });
            test.start();
и происходит зависание на строке Клиента:
Java
1
2
3
4
5
if (!GLFW.glfwInit())
        {
            System.out.println("GLFW не инициализировано!!");
            System.exit(-1);
        }
Если запускать сразу Клиент минуя Лаунчер то все хорошо работает. Подскажите в чем может быть проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2020, 14:32
Ответы с готовыми решениями:

Почему макрос работает, если создавать и запускать его в Командной строке, а если в пакетном файле, то нет?
Подскажите почему если вводить последовательно в командной строке DOSKEY npp=&quot;C:\Program Files\WinRAR\WinRAR.exe&quot; а потом npp, то все...

если запускать приложение в вижуалке (ctrl + f5) то оно работает правильно, но если запустить через .exe файл - нет!
если запускать приложение в вижуалке (ctrl + f5) то оно работает правильно, но если запустить через .exe файл - нет! Что делать? Возможно...

Программа нормально работает только если запускать через студию с дебагером
Здравствуйте. данный код заставляет всплывать окно программы над другими окнами...как то так... using System; using...

12
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,428
Записей в блоге: 2
29.04.2020, 15:12
Единственное что могу посоветовать так это включить вывод логов GLFW в консоль если нету и смотреть что пишет.
Например так
Java
1
GLFWErrorCallback.createPrint(System.err).set();
и написать сюда вывод

Добавлено через 48 секунд
Эту строчку до инициализации GLFW GLFW.glfwInit()
0
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246
29.04.2020, 16:21  [ТС]
Теперь на этой строке зависает(
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,428
Записей в блоге: 2
29.04.2020, 17:01
мне кажется больше помощи будет в разделе по opengl чем тут, правда на джава могут напасть, типа почему не плюсы
https://www.cyberforum.ru/opengl/
opengl к языку не привязан
0
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246
04.05.2020, 12:36  [ТС]
Появилось новое обстоятельство:
Java
1
java.io.IOException: CreateProcess error=216, Эта версия "%1" не совместима с версией Windows, работающей на этом компьютере. Проверьте сведения о системе, а затем обратитесь к издателю программного обеспечения
Ситуация та же. Подскажите в чем проблема?

Добавлено через 3 минуты
Нашел в инете подобную тему с ответом "Проблема заключается в том что не прописан путь к Java. Нужно в свойствах проекта прописать путь.". Но как это сделать? Я ведь из лаунчера который знает где лежит Java запускаю exe внутри которого
лежит jar упакованный launch4j. Что не так?
0
04.05.2020, 12:42

Не по теме:

EugeneV, Помню ктото на форуме тут писал что launch4j работает корректно только с 7 версией джавы и ниже, выше уже проблемы

0
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246
04.05.2020, 13:32  [ТС]
У меня клиент который упакован в exe должен принимать параметры ип и порт как аргументы Main. Если я при запуске exe их передаю то Main их получает?

Добавлено через 48 секунд
А что использовать тогда лучше? Free only

Добавлено через 49 минут
Решил все таки оставить лаунчер в exe а клиент в exe не делать. Вопрос теперь такой как из лаунчера запустить клиент?
Java
1
Process process = Runtime.getRuntime().exec("java -jar -/bin/Client.jar 127.0.0.1 1234");
Бред ведь? Как правильно?
Важно при этом два параметра передать.
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,428
Записей в блоге: 2
04.05.2020, 13:40
EugeneV, нафига все упаковывать в ехе файл когда можно создать портативную сборку из jar-ников (включая библиотеки) портативного jre и ехе лаунчера написанного на любом языке в пару десятков строчек (который будет еще и параметры с тхт файла чиать)?
0
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246
04.05.2020, 14:03  [ТС]
В ехе пакую только лаунчер для запуска jar, но пока запустить не получается этот самый jar
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,428
Записей в блоге: 2
04.05.2020, 14:48
EugeneV, а что мешает создать нечто вроде такого и скомпилировать в ехе? Это будет лаунчером
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <fstream>
#include <string>
#include <windows.h>
 
int main() {
    HWND hWnd = GetConsoleWindow();
    ShowWindow(hWnd, SW_HIDE);
    std::string line;
    std::ifstream file;
    file.open("settings.conf");
    std::getline(file, line);
    file.close();
    char cmd[200];
    std::sprintf(cmd, "runtime\\jre-x64\\bin\\javaw.exe -jar myprog.jar %s", line.c_str());
    system(cmd);
    return 0;
}
Вот тут std::sprintf(cmd, "runtime\\jre-x64\\bin\\javaw.exe -jar myprog.jar %s", line.c_str()); указать относительные пути к исполняемому jar файлу и jre, а вот тут file.open("settings.conf"); файл с параметрами для запуска программы в виде текстового файла из одной строки
0
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246
04.05.2020, 15:31  [ТС]
А если без плюсов? Как из exe с вложенным jar запустить внешний jar? Мне во первых не нравится отдельный файл для параметров. Во вторых через launch4 в Maven-е проще втюхать один мелкий класс с функциями запуска jar. В третьих я на плюсах не кодил никогда, перешел с VB NET, но и в него залазить не хочу) Спасибо!
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,428
Записей в блоге: 2
04.05.2020, 15:51
EugeneV, для меня написать ехе программку на с++ или purebasic проще чем возиться с таким
0
-12 / 1 / 0
Регистрация: 11.02.2017
Сообщений: 246
04.05.2020, 20:06  [ТС]
Хорошо, а как из кода одного jar файла запустить выполнение второго jar файла? Я подумываю вообще не использовать ехе

Добавлено через 2 часа 53 минуты
Если батник для запуска jar лепить и потом ярлык красивый на него бред для Win системы? Или код на плюсах который ищет JVM и если нету ставит лучше? Но проблема с запуском одного jar из другого у меня остается(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2020, 20:06
Помогаю со студенческими работами здесь

Эмуляция нажатия клавиш для другого приложения (Win10 Под D3D) не работает
Добрый день! У меня такая трабла возникла. Нужно В игре под директ3Д зажать правую кнопку мышки на несколько секунд и отпустить. Вот код...

Не могу запускать приложения
Добрый день. Такая проблема, имеется компьютер с XP. Автоматически заходит под одним из пользователей, второй скрыт. Я выяснил что есть и...

Не удается запускать приложения
Не удается запускать приложения под любой учетной записью другого пользователя домена. Сообщает, что &quot;Отказано в доступе&quot; Где в...

Компьютер перестал запускать приложения
Поймал на компьютер &quot;веселого зверька&quot;, весьма распространенного судя по кол. тем ему посвещенных. Ситуация стандартна - перезагрузка...

Какой командой в bat-файле запускать что-либо от имени другого пользователя?
не подскажите какой командой в бат файле запускать что либо от имени другово пользователя


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru