Форум » [x]Harbour » Terminal WVT & EXIT PROCEDURE » Ответить

Terminal WVT & EXIT PROCEDURE

sashaBG: Привет всем на форуме ! Перекомпилировал один из своих проектов HARBOUR'ом используя терминал WVT Все работает нормально за изключением то что не срабатывает EXIT PROCEDURE при нажатии крестика для закрытия окна . Придется както убирать его или заставить работать EXIT PROCEDURE при нажатии крестика но как . Может у когото приходилось ето делать , Напишите пожалуста ! сборка харбура взята от сюда : http://cch4clipper.blogspot.com/2009/05/latest-developments-in-harbourby-viktor.html с применением новой утилитой HBMK2 Виктора . По моему очень удобная вещь . В начале программы стоит REQUEST HB_GT_WVT REQUEST HB_GT_WVT_DEFAULT hb_gtInfo(HB_GTI_FONTSIZE, 28) hb_gtInfo(HB_GTI_FONTWIDTH, 14) компилирую так : --------------------------------------------- c:\harbour\bin\HBMK2 CCH.HBP -comp=bcc а CCH.HBP содержит: -------------------------- -oCCH -gtWVT K.PRG K11.PRG K12.PRG ASSI.PRG CALC87.PRG LOCKS.PRG TEXTBROW.PRG INSTOGLE.PRG SHADOW.PRG fttext.c ------------------------------------------------

Ответов - 39, стр: 1 2 All

Лукашевский: Dima пишет: Кусок текста покажи. #ifdef __HARBOUR__ sw_harbour = .T. REQUEST HB_GT_WIN REQUEST HB_GT_WVT REQUEST HB_NOMOUSE REQUEST HB_LANG_RU866 HB_LangSelect( "RU866" ) REQUEST HB_CODEPAGE_RU866 HB_SetCodepage( "RU866" ) HB_GtInfo(GTI_CODEPAGE, 255) if HB_GTVERSION() == "WVT" HB_GtInfo(HB_GTI_CLOSABLE, .F.) wint = HB_GtInfo(GTI_DESKTOPWIDTH) v_all = HB_GtInfo(GTI_DESKTOPHEIGHT) HB_GtInfo(GTI_FONTNAME, "Lucida Console") HB_GtInfo(GTI_FONTSIZE, IIF(v_all > 800, 34, IIF(v_all > 640, 18, 16))) HB_GtInfo(GTI_FONTWIDTH, ; IIF(wint > 1024, IIF(RIGHT(winstack, 4) == "0035", 15, 16), ; IIF(wint > 800, 12, 9))) else SetConsoleTitle("TEST") last_time = SECONDS() do while ( hWnd:= FindWindow( "TEST" ) ) == 0 .AND. SECONDS()-last_time < 5 enddo if hWnd > 0 DeleteCloseButton( hWnd) && Удаляем крестик endif nStdOut := Hb_GetStdOut() nResult := SetConsoleDisplayMode(nStdOut, CONSOLE_FULLSCREEN_MODE) MYMSG("nStdOut = " + NTRIM(nStdOut), "nresult = " + NTRIM(nresult)) SetMode(25, 80) endif SET EVENTMASK TO INKEY_LDOWN+INKEY_KEYBOARD SetFileApis() sw_NT = OS_IsWINNT() #endif

Dima: С ярлыка запускаешь ? Если так то смотри его свойства , закладка ярлык - окно - возможно тут у тебя и стоит запускать свернутое в значок

Лукашевский: Dima пишет: стоит запускать свернутое в значок Нет, стояло - "Обычный размер окна". Поставил "Развёрнутое на весь экран" - и заработало! Нет, ну это же догадаться нужно было!!! В связи с этим неплохо было бы иметь возможность программно изменять свойства ярлыка, - ничего об этом не слышал?


Dima: Лукашевский Просто интересно , ты все время вновь собранные программы запускаешь с ярлыка , ведь не удобно же ? :) я например редактирую исходники в Far (+ плагин для Clipper ), в нем же собираю и запускаю. Зачем тебе эти ярлыки для работы ? Ярлык нужен в моем понимании для конечного пользователя.

Лукашевский: Dima пишет: Ярлык нужен в моем понимании для конечного пользователя А я и смотрю всё это с точки зрения конечного пользователя! Юзверь-то однозначно ярлыком будет запускаться! И когда отсылаешь новый вариант проги по электронке, а тебе в ответ - что-то не работает или работает не так - это неприятно: во-первых, потому что очень трудно добиться внятного и подробного ответа, что именно не так, а во-вторых, сам ты со всем этим можешь поковыряться и всё отладить когда тебе удобно, а когда тебе сообщают об ошибке, приходится исправлять её в авральном порядке, и это обычно гораздо менее удобно!

Лукашевский: Лукашевский пишет: Поставил "Развёрнутое на весь экран" - и заработало! Я рано обрадовался - один раз почему-то запустилось нормально, а потом всё так же - свёрнутым...

PSP: Лукашевский, а если запустить напрямую (без ярлыка)?

Dima: Лукашевский Не пробовал ярлык заново создать ? Подозреваю что он у тебя 100 летней давности и создавался для Сlipper приложения.

Лукашевский: PSP пишет: а если запустить напрямую (без ярлыка)? А это смотря откуда... Из "Моего компьютера" и "Проводника" - запускается свёрнутым! А из Нортона или там ДОСовским ярлыком - разворачивается на полный экран, но там какие-то свои вариации, потому что nResult = 1 и в этих случаях, т.е. функция SetConsoleDisplayMode() не отрабатывает!

Лукашевский: Dima пишет: 100 летней давности и создавался для Сlipper приложения Я рассматриваю ВСЕ варианты, поэтому у меня оба ярлыка - и ДОСовский, при запуске которым программа нормально разворачивается, но присутствует второе пустое окно (юзвери категорически против ), и обычный виндовый (с тремя закладками в Свойствах), при запуске которым программа не разворачивается.

Dima: Лукашевский Брось куда нить EXE (+минимум баз если надо), пробну у себя запустить

PSP: Попробуй в папке windows\prefetch удалить все файлы с именем "ИмяТвоегоФайла-*.pf"

Лукашевский: PSP пишет: Попробуй в папке windows\prefetch удалить Вроде бы помогло , но: nResult всё равно 1, что странно... И ещё такая песня - если поставить в свойствах ярлыка "Запускать свёрнутым в значок" - запускается свёрнутым в значок, НО nResult = 0, т.е. функция SetConsoleDisplayMode() рапортует, что она нормально отработала, переключила терминал в полный экран! А программа в это время свёрнута в неактивный значок! Так может быть, дело всё-таки в том, чтобы значок запущенной программы как-то активировать?

PSP: Имхо, понятия "Полный экран" и "Развернутое окно" - суть разные. Может в этом путаница?

Лукашевский: PSP пишет: понятия "Полный экран" и "Развернутое окно" - суть разные. Так и я об этом! Но как развернуть свёрнутое окно терминала, никто пока не ответил...

PSP: Раз уж пользуешься ярлыком, может это поможет?

Лукашевский: PSP пишет: Раз уж пользуешься ярлыком Ярлыком пользуюсь не я, а юзвери (общим числом немножко более 300), это во-первых. Во-вторых, DOS-овский ярлык, который ты отобразил, отпадает - программа с GTWIN по нему открывается в двух окнах - одно пустое, а второе собственно окно программы, и это пустое сильно окно мешается в панели выполнения программ, но если его закрыть, автоматически закрывается и окно программы! И в-третьих, хоть и в Win-ярлыке эта настройка тоже есть, меня ломает настраивать 300 ярлыков вручную, а как это сделать программно - неизвестно, я уже задавал здесь этот вопрос...

PSP: Лукашевский пишет: Во-вторых, DOS-овский ярлык, который ты отобразил, Ярлык не DOS-овский. Far - консольное виндовое приложение.

Лукашевский: PSP пишет: Ярлык не DOS-овский. Ну, "старого формата"... как-то его обозвать нужно было. Сделай в Win'XP ярлык на xHarbour'ную программу, и ты увидишь отличия.



полная версия страницы