Просмотр полной версии : Проблема с Free Pascal
Программа работает с модулем графики.
Суть проблемы в том, что при запуске открывается соответственно два окна - окно графического исполнения и окно самой командной строки Паскаля. Так вот, ввод с клавиатуры действует лишь при активном окне Паскаля. То есть при активном графическом окне клавиатура бездействует и интерактивность невозможна. Приходится печатать в паскалевском, а смотреть на изменения в неактивном графическом на фоне.
Что делать?
Это скорее всего по тому что, "графическое" окно не обрабатывает нажатия клавишь. Тебе скорее всего придеться писать обработсчик самому, или, если повезет, и есть такой модуль, юзать его.
А может перенаправление вывода в дебагере с консоли в дебаговое окно? %)
А может перенаправление вывода в дебагере с консоли в дебаговое окно? %)
А можно чуток более развернуто? Это как?
Экзешник попробуй откомпилить и запустить отдельно, без среды разработки. Там нормально работает?
Нет. Запускаю exe - все равно два окна выскакивают - графическое и эмуляция ДОСа (ну или не знаю как назвать, командная строка короче, неграфический Паскаль). И опять ввод с клавиатуры графическое не принимает.
Давай так.
Что есть консоль? простым языком, окно которое обрабатывает нажатия клавиш. Выполняет команды.
Что есть твое графическое окно? Как я понял, это отдельное окно, в ктором показываеться твоя графика. По идеи оно не должно по умолчанию обрабатывать нажатия клавиш.
Так как :
1. Это делает консоль.
2. Их обработка, например, хотя бы отображение, может повлиять на "картинку".
Помню что в Паскеле, в граф. режиме нельзя было работать с консолью. То есть илбо текстово, либо графический режим. Видимо во Фри Паскале, пошли другим путем. Совместили в двух разных окнах.
Все так. Но неужели нет возможности сделать так, чтобы графическое окно принимало команды с клавиатуры?
Вопрос. Зачем?
В паскале можно было переключаться между режимами.
Ну как зачем? По задумке графическое изображение должно меняться соответственно нажатой клавише. Оно и меняется, но приходится держать активным окно "консоли", то есть наблюдать изменения изображения на фоне.
Вот скрин:
http://zorgis.nm.ru/scr.JPG
На заднем фоне - графика (игра в "пятнадцать"). На переднем фоне, активное окно - вот оно-то и принимает клавиатуру. А графическое - нет. Неудобно.
Так.
А какими средствами пользуеться графический модуль? DirectX, GDI или еще что?
Скорее всего тебе придеться обрабатывать нажатия клавиш самому.
Powered by vBulletin™ Version 4.0.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot