Разное

Pascal crt uses: Crt — Free Pascal wiki

Модули CRT и System.Windows.Forms в pascal не работают вместе, как решить?

Писал программу на формах в паскале, и появилась надобность в горячих клавишах, подключил CRT модуль что бы взять из него ReadKey() но по итогу за место моего окна мне выводится консоль с надписью ‘Программа завершена, нажмите…’, а формы как как будто и не существуешь, как только отключаю CRT все работает как надо — запускается моя форма, как их объединить? Что бы работал и CRT и Формы?

Дополнено (1). Pascal ABC список модулей выглядит так: uses System, System.Drawing, System.Windows.Forms, ScintillaNET, System.IO, CRT;

Скорее всего где-то есть неоднозначность в указанных именах, то есть Когда и в CRT и WinForms есть ДОПУСТИМ класс Control. И какой из двух вызвать либо Pascal.ABC(указывайте что это моднявый паскаль, диалектов куча) сам реашет либо пишет ошибку.

если первое верно, то выход — вместо Control указывать полный путь до класса: System.Windows.Forms.Control или CRT.Control

как найти подобные места? Ну вот тут то и проблема, как вариант отключить System. Windows.Forms и скопировать ошибки, отключить CRT и скопировать ошибки, те что неповторяются но относятся к формам и есть проблемные места

ещё проблема может быть в том что CRT принудительно создает консольное окно и формы уже немогут подтянуться и создать его как графическое.

кстати есть же https://docs.microsoft.com/…mework-4.8, правда хрен знает как оно работает на паскале и не уверен что под ваши цели подойдет.
Но коль вы на нетах пишите то юзайте документацию по шарпам с адаптацией на паскаль. Да и winforms там лучше описаны и скорее всег имеют поддержку hot-key из коробки

>как решить?
Очень просто решить. Надо решить для себя, консольное у тебя будет приложение, или тебе формочки нужны.

>подключил CRT модуль что бы взять из него ReadKey()
Просто не делай так. В формах тебе ReadKey нафиг не уперся, да и работать не будет.

Горячие клавиши в Forms работают по-другому. Размести на форме кнопку, и в названии после нужной буквы поставь значок &. Это и будет горячая клавиша.

  • Тип или имя пространства имен Forms не существует в пространстве имен System.Windows В диспетчере ссылок находит только эти две (выделены на фото), пробовал прикреплять обе, ошибка остается. Раньше все было в порядке, сегодня IDE сходит с ума
  • Как вставить System.Windows.Forms на С# в Visual studio Подскажите пожалуйста, как в VS 2022 как выбрать ссылку System.Windows.Forms.
  • Пытаюсь добавить ссылку на System.Windows.Forms, не выходит Не удалось создать сборку-оболочку для библиотеки типов «{215d64d2-031c-33c7-96e3-61794cd1ee61}». Библиотека типов «System_Windows_Forms» экспортирована из сборки CLR и не может быть повторно импортирована как сборка CLR.
  • PascalABC.NET — Добавление музыки в Windows Forms Pascal Кто может подсказать строчки кода, с помощью которых можно добавить музыку в программе Windows Forms в Паскале, буду очень благодарен вам. P.s — Пишу порт игры на Паскале и поэтому нужна музыка, чтобы не так скучно всё это дело выглядело.

Добавить комментарий

При использовании модуля crt в паскале, в командной строке отображаются непонятные символы

никитарашкин
никитарашкин