Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть III) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть III)

gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).

Ответов - 203, стр: 1 2 3 4 5 6 7 8 9 10 11 All

gfilatov: Новый релиз выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=4536 а также, как обычно, на сервере http://hmgextended.com. Полная версия: http://hmgextended.com/files/CONTRIB/hmg-1.4-48-setup.zip Lite-версия: http://hmgextended.com/files/CONTRIB/hmg-1.4-48-setup-lite.zip Желаю всем удачной выкачки!

gfilatov: Текущую версию компилятора Харбор выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=4656 В этой версии существует следующее важное изменение, сделанное Пржемеком Черпаком: 2008-02-08 15:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbmacro.h * harbour/include/hbexprb.c * harbour/source/vm/macro.c * harbour/source/compiler/hbmain.c ! fixed name conflict in privates/publics declaration. Harbour allows to declare memvars with the same name as file wide statics or fields but this extensions was not working well in some cases and can cause unexpected results in variable declaration, f.e. try this code: static v:="static" proc main() public v:="public" ? v, M->v return compiled with -n -w switches and also with -n -w -a before this fix. ! fixed some compile time warnings in memvars declaration to be more Clipper compatible ! fixed compiling external modules (DO <procname> [WITH <params,...>]) when function <procname> is already declared but with different letter case. Harbour does not convert <procname> in DO statement to upper case to play well with case sensitive file systems and it could cause confusing warning message: Cannot open <procname>.prg, assumed external

alex_II: Date: 12/02/2008 Time: 10:26:39 Error BASE/1003 Переменная не существует: ILOSCSTRON Called from (b)PREVIEW(1376) Called from _DOCONTROLEVENTPROCEDURE(4826) Called from EVENTS(1528) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(4516) Called from SPRAVKA(47) Called from (b)MAIN(429) Called from _DOCONTROLEVENTPROCEDURE(4826) Called from EVENTS(1521) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(4516) Called from MAIN(880)


Петр: Откуда переходили и как? ILOSCSTRON определена в hbprinter.lib

gfilatov: alex_II пишет: при переходе на 48 релиз получил ошибку Зайдите в папку Source и пересоберите все MiniGUI-библиотеки по команде MakeAllMiniguiLibs

alex_II: переходил с 47 релиза пересобрал по команде MakeAllMiniguiLibs - ничего не изменилось У меня довольно большой проект и печатей десятка полтора-два, и проблема только с одной из них. Появляется окно предосмотра, а при нажатии кнопки печать получаю ошибку. В 47 релизе проблем нет

gfilatov: alex_II пишет: Called from (b)PREVIEW(1376) Попробуйте переписать строку 1376 в файле source\HbPrinter\WinPrint.prg таким образом: ... BUTTON B1 CAPTION aopisy[2] PICTURE 'hbprint_close' ACTION {|| _ReleaseWindow ("HBPREVIEW1" ),if(::thumbnails .and. iloscstron>1, _ReleaseWindow ("HBPREVIEW2" ), nil), _ReleaseWindow ("HBPREVIEW" )} ... Не забудьте перекомпилировать после этого библиотеку

alex_II: Увы, ситуация не улучшилась Date: 13/02/2008 Time: 10:14:35 Error BASE/1003 Переменная не существует: ILOSCSTRON Called from HBPRINTER:PREVPRINT(1230) Called from (b)PREVIEW(1378) Called from _DOCONTROLEVENTPROCEDURE(4826) Called from EVENTS(1528) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(4516) Called from SPRAVKA(47) Called from (b)MAIN(429) Called from _DOCONTROLEVENTPROCEDURE(4826) Called from EVENTS(1521) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(4516) Called from MAIN(880)

gfilatov: alex_II пишет: Called from HBPRINTER:PREVPRINT(1230) Эта ошибка указывает на то, что у Вас переменная ILOSCSTRON не инициализирована, хотя в методе Preview() она д.б. определена так Private Iloscstron:=len(::metafiles) ... и без этой переменной Вы не получили бы на экране окна HBPREVIEW, при создании которого она используется Проверьте значение этой переменной - она должна содержать общее количество страниц в документе.

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №49, которая выйдет в конце следующей недели. Изменений довольно много Итак, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс BLINK для элемента управления Label; - Hyperlink нормально открывает линки под Win98; - правый click работает аналогично левому клику у Browse; - расширения и исправления в библиотеках WinReport, TsBrowse и PropGrid; - изменения в библиотеках HbPrinter и MiniPrint; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).

gfilatov: Новую версию IDE выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=4725 а также, как обычно, на сервере http://hmgextended.com в папку HMGS-IDE.

gfilatov: Новый релиз, как и обещал, выложил по адресу: http://minigui.mylivepage.ru/file/32/4778_hmg-1.4-49-setup.zip.zip а также, как обычно, на сервере http://hmgextended.com. Полная версия: http://hmgextended.com/files/CONTRIB/hmg-1.4-49-setup.zip Lite-версия: http://hmgextended.com/files/CONTRIB/hmg-1.4-49-setup-lite.zip Желаю всем удачной выкачки!

gfilatov: Новую версию IDE выложил по адресу: http://minigui.mylivepage.ru/file/32/4785_ide.zip.zip а также, как обычно, на сервере http://hmgextended.com в папку HMGS-IDE.

gfilatov: Обновил версию IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/32/4798_ide.zip.zip а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE. Что нового: - исправление обнаруженных пользователями ошибок

gustow: Извините, Григорий, что сюда пишу (м.б. надо было по мейлу), но... Скачал HMG 1.4.49 (скачал 06.03.08 в 16:46 мск). (hmg-1.4-49-setup.zip.zip ; file length: 12757128) Попробовал перекомпильнуть под ним мою "безделицу" - игрушку "Life". (она была слеплена под HMG build 30) _Ничего_ в проге не изменял. Все ОК, но... через 5-6-7 "поколений" вместо изменяющихся "клеток" начинают показываться "пустые места" (т.е. вместо клетки - квадратная "дырка" цвета окна). Постепенно все заполняется "дырками" - что есть не ОК. Не понял... и пока не разобрался - в чем дело.

gfilatov: gustow пишет: Постепенно все заполняется "дырками" Я тоже столкнулся с этой проблемой при компиляции Вашей программы. На мой взгляд, это может быть связано как с последними изменениями в самой библиотеке, кторые были направлены на борьбу с утечкой памяти при выводе картинок, так и с изменениями, внесенными в последних "свежих" версиях компилятора Харбор. Попробуйте, для очистки совести, собрать версию 49 с помощью старой версии Харбора из поставки 30-го билда и затем откомпилировать Вашу программу. Это может помочь в определении причины описанной проблемы.

gustow: ОК, попробую. Спасибо за совет по "пересборке" (ни разу не делал, пользовался готовыми бинарниками - заодно и потренируюсь). Я тоже подумал, что "косяки" (конечно же, неизбежные) либо в библиотеке, либо в новой версии компилятора.

valery2: Любопытная ссылочка: http://www.the-holms.org/xharbour/compiler.htm Это The xHarbour Portal in Finland на английском. Сам еще не пробовал, но похоже, что эти ребята дотошно копают MiniGUI.

gfilatov: Обновил версию IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=4838 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE. Что нового: - добавлена панель группового изменения размеров и позиции элементов управления (основана на примере из папки \samples\Advanced\ControlPos)

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=4844 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

gfilatov: Новый юбилейный релиз выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=4870 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-50-setup.zip Эта сборка имеет теперь полноценный инсталлятор (правда, без денсталлятора ), а также упразднена облегченная версия. Что нового: - исправление обнаруженных ошибок и неточностей кода (как обычно ); - новая библиотека PropSheet позволяет использовать WinApi для создания пользовательских wizardов; - исправления в библиотеке TsBrowse; - обновлены сборки Харбор и HMGS-IDE; - новые примеры.

gfilatov: Обновил 50-й релиз с учетом обнаруженных проблем по адресу: http://minigui.mylivepage.ru/file/?fileid=4894 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-50-setup.zip Исправлено: - некорректная Харбор библиотека libct заменена на версию из 49-й сборки Спасибо за Ваши отклики!

gfilatov: Текущую версию компилятора Харбор выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=4911 Желаю всем удачной выкачки!

alex_II: Григорий! Не могли бы Вы выложить пример работы с мемо-полями. В релизах MiniGui я нашел пример как в них хранить изображения, а мне надо хранить и редактировать текстовые данные. Команды Harbour'а, приведенные в документации относятся как я понял только к консольному режиму.

gfilatov: alex_II пишет: Не могли бы Вы выложить пример работы с мемо-полями. Такой пример есть в папке samples\Basic\IMAGEBROWSE2 (см. memo-поле BIO) alex_II пишет: Команды Harbour'а, приведенные в документации относятся как я понял только к консольному режиму. Это неверное утверждение Вы смешиваете доступ и манипулирование данными в базе и использование GUI-интерфейса для удобного отображения информации.

alex_II: Тогда объясните Григорий пожалуйста как в MiniGui можно использовать функцию MEMOEDIT

gfilatov: alex_II пишет: как в MiniGui можно использовать функцию MEMOEDIT Используйте взамен элемент управления EditBox. Рабочие примеры находятся в папках: - samples\Basic\IMAGEBROWSE2 ; - samples\Basic\MDI и других

gfilatov: Обновил 50-й релиз с учетом обнаруженных проблем по адресу: http://minigui.mylivepage.ru/file/?fileid=4937 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-50a-setup.zip Исправлено: - ошибки в библиотеке TSBrowse, внесенные в 50-м релизе Благодарю всех, кто тестировал данный продукт!

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=4938 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

i3t4j6: При работе с TsBrowse с использованием SetAppendMode( .T. ) добавляются новые строки. И если просто добавить пустую запись, опустив курсор в самый низ , а затем попытаться выйти из программы (нажать на "красный крестик"), то выскакивает ошибка. Чтобы это увидеть, нужно , например , в файл sbalign.prg добавить после строки номер 30 - ON RELEASE CloseTables() .

gfilatov: i3t4j6 пишет: выскакивает ошибка. Спасибо за сообщение! Замените строки в файле h_tbrowse.prg, начиная со строки 3802 ... If ::nLen <= ::nRowCount() ::Refresh( .T. ) ElseIf ! ::lCanAppend ::GoBottom() EndIf ... Надеюсь, это решит проблему

i3t4j6: Большое спасибо ! В данном случае - получилось . Но ,по всей видимости, я выбрал не совсем удачный пример. Нужно добавить ON RELEASE CloseTables() в файл TsBtest.prg после строки номер 90.

gfilatov: i3t4j6 пишет: не совсем удачный пример Чтобы решить проблему, дополните строку 5372 в методе GotFocus таким образом If ::lIsDbf .and. ::lPainted .and. ! ::lFirstFocus .and. ! ::lNoResetPos .and. ; ! ::lValidating .and. ! ::lNoPaint .and. ! ::lCanAppend ... Жду Ваших комментариев

i3t4j6: gfilatov пишет: Жду Ваших комментариев Спасибо огромное ! Все просто замечательно !!!

gfilatov: Текущую SVN-версию компилятора Харбор выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5018 Желаю всем удачной выкачки!

gustow: Григорий, приветствую! Я чуть подкорректировал ваш JpgViewer (из Samples\Advanced - там было кое-что не совсем корректно с определением ширины-высоты JPG, если есть EXIF-data; и присобачил еще одну кнопочку). Положил у себя (не знал, как переслать) на http://gustow.narod.ru/harbour/harbour.htm (JpgViewer_gu.rar)

gfilatov: gustow пишет: подкорректировал ваш JpgViewer Большое спасибо! Обязательно размещу исправленную версию этого примера в следующем релизе (после входного контроля, разумеется ) gustow пишет: не знал, как переслать Очень просто - на мой почтовый адрес P.S. Спасибо за Ваше фото в архиве

gfilatov: Добавил еще несколько программ, написанных с использованием библиотеки MiniGUI, в список избранных программ на сервере http://minigui.mylivepage.ru. Желаю всем удачи!

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5163 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE. Что нового (от автора): 2008-04-21: version 0.6.3 *New : Added selecting several controls with the mouse for moving in _controlPos_.prg. Suggestion of Manfred <ecadata@gmail.com> *Fixed : little bug, when you open a form and start the control position dialog select one entry and close the control position with the x the complete app will be closed, without warning to save the changes. Bug was reported by Manfred <ecadata@gmail.com> *Fixed : After changing something with the intern form editor in the text mode, it would be necessary to update the form display. Otherwise the changes will be lost after closing the IDE. Bug was reported by Manfred <ecadata@gmail.com> *Fixed : bug when showing window viewerror with modal window active (form_splash). Bug was reported by Juan Rendon <sistemas.ascii@yahoo.com> *Added : option saveform in context menu. Contribution by Escobar <escobar@megasistema.com.br> *Changed: Corrections in saveform.prg and loadfmg.prg.

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Подготовлена к опубликованию новая сборка №51, которая выйдет завтра. Что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс MULTILINE для элемента управления Tab; - расширения и исправления в библиотеках WinReport, TsBrowse и PropSheet; - обновлены сборки Харбора и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).

gfilatov: Новый релиз выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=5196 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-51-setup.zip Эта сборка имеет полноценный инсталлятор, а также для этого релиза восстановлена облегченная (Lite) версия в виде самораспаковывающегося архива, которая выложена по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-51-setup-lite.zip Желаю всем удачной выкачки

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5262 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE. Что нового: - исправление ошибок при создании основного меню; - оптимизация при компилировании больших проектов; - синхронизация с последними изменениями в MiniGUI Extended Edition Как обычно, безуспешно ожидаю Ваших комментариев

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5273 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №52, которая выйдет в понедельник. Что нового: - исправление обнаруженных ошибок и неточностей кода; - расширения и исправления в библиотеках WinReport, TsBrowse, PropGrid и Socket; - обновлены сборки Харбора и HMGS-IDE; - новые и обновленные старые примеры (как обычно ). Петр, Если у Вас есть полезные дополнения к новому релизу, то я с удовольствием включу их в эту сборку. Надеюсь на положительный ответ Честно говоря, надоело писать в пустоту...

Петр: gfilatov пишет: Если у Вас есть полезные дополнения к новому релизу, то я с удовольствием включу их в эту сборку. Спасибо, Григорий за предложение - я не планирую ничего публиковать в этом и, наверное, в последующих релизах MiniGUI Ex. Сейчас я не использую MiniGUI, а делать специально адаптированные версии мне не хочется. Это я о GUI. Если говорить о невизуальных компонентах - это тема отдельного разговора. Честно говоря, надоело писать в пустоту... Честно говоря, я и так удивляюсь Вашему терпению.

Andrey: gfilatov пишет: Честно говоря, надоело писать в пустоту... А что отвечать, то нужно ???? Примеров непочатый край, целых 2 дня убил для просмотра. Как все круто работает, глаза так и разбегаются, как бы к себе вставить ЭТО ВСЕЕЕЕЕЕ...... Но увы, заказчику по барабану эти окошки, дай чтоб работало ..... А сам уже на одном "энтуазисте" переделывать некогда, семью кормить надо.... Вот и смотришь на это как ЭТАЛОН ..... Может сделали бы общими усилиями среду разработки и продавать как коммерческую версию, тогда бы и покупатели нашлись бы .... и работа эта приработок давала.....

i3t4j6: gfilatov пишет: Честно говоря, надоело писать в пустоту... Какая пустота ??!!! О чем вы говорите ? Черная дыра - засосала, поглотила !!! Выбраться - не возможно !!! Так держать !!!

Петр: i3t4j6 пишет: Какая пустота ??!!! О чем вы говорите ? Черная дыра - засосала, поглотила !!! Выбраться - не возможно !!! Так держать !!! Что курили?

gustow: На этой (и подобной) "пустоте" и держится, собственно, то, что можно (м.б. высокопарно) назвать "продвижение вперед". А иначе будем иметь только все более монструозных потомков Висты и все более ограничивающий (но зато в офигительно жрущих ресурсы "рюшечках") ФИРМЕННЫЙ софт... Т.ч. пока есть люди, подобные команде HMG (да и самому Roberto Lopez'у как "отцу") - есть куда "дергаться"... А иначе - чем "семью кормить" будем?.. Сидеть, продавать неизвестно кем сляпанный очередной "Офис"?.. или "одинэску"... или (нужное подставить)?.. Тогда уж лучше прибиться к чему-то подобному "нефтянке" - пока все места не заняли... или к какому-то "политическому папику" прислониться... Всяко выгоднее, чем какие-то там проги клепать. Спасибо огромное, Григорий и компания! (искреннее)

Andrey: gustow пишет: Спасибо огромное, Григорий и компания! (искреннее) Поддерживаю !!!!!

gfilatov: Новый релиз выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=5383 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-52-setup.zip Спасибо за добрые слова в мой адрес! Петр пишет: я не планирую ничего публиковать Проекту очень не хватает грамотного Сишника, разбирающегося в WinApi и Харборе. Очень жаль, что Петр не довел до конца задачи, аннонсированные в Doc\ToDo.txt. Его идеи и дополнения к библиотеке были в высшей степени полезны для этого проекта. Основной проблемой, на мой взгляд, является отстутсвие интереса молодых кадров к бесплатному инструментарию для программирования под Винду. А поколение Клипперистов перекочевало на другие современные языки. Грамотное же использование Харбора подразумевает базовые знания Клиппера, а этого у молодежи нет, поскольку Clipperу давно нигде не обучают, а современной литературы, посвященной Харбору, просто нет Замкнутый круг...

gustow: М.б. это и "нестандартный" пример... Показал дочке (13 лет, 7 класс), как ляпать простые приложения Harbour+MiniGUI. Поскольку в английском сечет в достаточной для тех.чтения степени (только спец.термины спрашивает, как переводятся и что означают), то довольно быстро начала разбираться с примерами и хэлпами (причем - опыта в программировании никакого, информатику еще никак не проходят)... "Дык, - сказала - тут же все понятно! Это в дурацком Вордовом хэлпе фиг чё найдешь" :) Сляпала пару-тройку простецких фигушек (типа диалоговые окна, гриды, картинки, простые расчеты, смена цвета и т.п. - поглядела в примерах, как делается), снесла и показала школьной "информатщице"... Та глянула - приофигела (а тут тебе и бинарники, и исходники сляпанных прог), сказала (со снисходительной ухмылкой): "Папаша, что ли делал?" - "Нет, сама! Вот это делает это, это - то, а тут это для этого..." В общем, училка попросила приволочь ("мне так... погладеть для интересу..." - но глаз, дочка говорит, "заинтересованно блестел") Харбор (слыхом, естественно, не слыхивала) - мол, гляну... Насколько понял, ее прибило именно то, что практически без особого обучения теории (ну, конечно, чутка пришлось порассказать основы) "дитё малое" начинает клепать "весчи", которые ляпают (на уроках) классе в 10м. :) Тут, конечно, спасибо огромное и "дарителям", и "коллекционерам" примеров - сильно облегчает MiniGUI'вскую "учебную курву"! По сравнению - то, что идет в комплекте с HWGUI (хоть у него и преимущество в смысле кроссплатформенности Win/Linux), выглядит сильно "бледновато"... P.S. Особенно большой восторг вызвало первое самостоятельно сляпанное приложение "с окном" - родилась фраза: "Вот, я теперь тоже программирую Винду!" :))

TimTim: Так давайте "разрывать" этот замкнутый круг! Надо действовать проверенным способом. Вспомните небезысвестного вождя мирового пролетариата и его "Искру". Такими "искрами" являются 1) форум, на котором мы сейчас имеем возможность дискутировать, 2) форум Кресина, англоязычные форумы и т.д. Можно на этом форуме ввести еще раздел, скажем "Уроки" gfilatov пишет: поскольку Clipperу давно нигде не обучают А мне кажется, ему нигде и не обучали. Обучали работе с dBase II, III и т.д., который был стандартом при работе с базами данных. А Clipper-у, в силу его популярности, учились самостоятельно по учебникам. В первую очередь можно вспомнить книгу Рика Спенса "Clipper: Руководство по программированию", выдержавшую 3 издания. Были ещё какие-то книги, сейчас не вспомню, но дело не в этом. Главное были и издавались книги по Clipper. В этом я полностью согласен с Григорием. И, наконец, хотелось бы вспомнить конференции по Clipper-у, организованные СП Магнит. Одно дело общаться на форумах, а другое личные контакты. Я думаю, что большую роль в продвижении Clipper сыграли и такие встречи. Кстати, вспомните прекрасно переведённую "магнитовскую" документацию. Понимаю, что это нереально, как нереально создать какие-либо курсы по [x]Harbour и MiniGUI. Итак, чтобы далеко не отходить от темы, что хотелось бы сделать в первую очередь для широкого внедрения "Расширенной библиотеки MiniGUI" ( и [x]Harboura ) в массы. Давайте общими усилиями напишем учебник по использованию MiniGUI, описанию работы IDE и т.д. В стиле книг типа "Шаг за шагом", "... за 24 часа" и т.д.. А c учётом сообщения от gustow лучше назвать как существующую серию книг "... для малышей от 1 до 99" и написать в том же стиле и также подробно. Я понимаю, что это достаточно сложное и, скорее всего, неблагодарное занятие, как говорилось выше "в пустоту". Но это надо делать! Готов принять в этом посильное участие. Взял бы gustow, для начала, да и оформил бы все подсказки своей дочери хотя бы в электронном виде. Я уж точно был бы ему весьма благодарен Из своего опыта скажу, что все мои проекты консольные. Сейчас работаю на два фронта: поддерживаю Clipper-приложения и есть уже [х]Harbour приложения. Пришёл к выводу, что надо перводить всё на Harbour. Очень хотелось делать "проги под Винду". Но не хватает знаний, и особенно времени ("семью кормить надо...") Требуется сопровождать программы и время на обучение и освоение нового приходиться выделять урывками. Да и возраст уже не тот. Хочешь продолжить с освоенного места, а уже всё предыдущее подзабыл, опять приходиться копать заново. Получается как у белорусского батьки: "Только за яйца возмёшься, молока не хватает!" Я и свою то статью "От Clipper к [x]Harbour через xMate", простите за невольную рекламу, написал для того в первую очередь, что сам забывал после некоторого перерыва что уже освоил в xMate и Harbour и пользуюсь ей как справочником. Теперь про GUI программирование. Прочитал на форуме про книгу Петцольда "Программирование для Windows 95". C горем пополам разобрал первые три главы (там всё "чужое", там С++). Вот если бы тоже самое, но с примерами на [х]Harbore и MiniGUI, то была бы просто конфетка! А когда прочёл о том, что Григорий "въезжал" в виндовое программирование 3 года, то руки опустились совсем. Это же самому надо обо все грабли шишки набить и обучиться, если конечно повезёт. Теперь затеплилась надежда, если уж девочки 13 лет клепают проги под винду, то уж я может тоже смогу А если серьёзно, то конечно, можно начать использовать кусочки примеров и далее много-много пробовать и экспериментировать. А время где взять? Хотелось бы ещё понять чуть глубже всю кухню виндового проганья. И очень бы помогло какое-либо руководство, в котором последовательно от простого к сложному всё разъясняется. В частности для примеров в MiniGUI не помешал бы путеводитель по примерам: в какой последовательности их разбирать новичку. А то получается как в том анекдоте про молодую девушку. которая в поликлинике ищет гинекологический кабинет. Спрашивает у первого встретившегося мужика-врача, а он ей в ответ: "Я хоть не генеколог, но посмотреть могу!" Вот и я смотрю на огромное разнообразие примеров в расширенной MiniGUI - красота да и только! А хочется еще и специалистом стать и что-то делать своими руками! P.S. Может я один такой: "в танке" да ещё и в "шлёме", а?

Pasha: Для начала можно было бы хотя бы перевести официальную документацию Харбора на русский язык Скопировать harbour\doc\en в harbour\doc\ru Обработать каким нибудь переводчиком, просмотреть полученный результат, исправить огрехи автоматического перевода. Заодно дополнить документацию Если бы кто-то за это взялся...

Andrey: TimTim пишет: Вот и я смотрю на огромное разнообразие примеров в расширенной MiniGUI - красота да и только! Вот и я тоже смотрю..... Ни одного примера так и не смог написать Хоть бы один для примера с кнопочкой Ок разобрали в IDE ////

gfilatov: Andrey пишет: Хоть бы один для примера с кнопочкой Ок разобрали Ниже приведен хорошо документированный пример демонстрационной программы Контакты (главный модуль), которую разработал в учебных целях автор библиотеки MiniGUI Роберто Лопес. Листинг учебной программы Контакты /* * Contactos * (C) 2003 Roberto Lopez roblez@ciudad.com.ar */ /* Файл 'minigui.ch' должен быть включен во все программы MiniGUI */ #include "minigui.ch" Set Procedure To ContactosAdmin Set Procedure To TiposAdmin Function Main /////////////////////////////////////////////////////////////////////////////// // Инициализация RDD DBFCDX /////////////////////////////////////////////////////////////////////////////// REQUEST DBFCDX RDDSETDEFAULT( "DBFCDX" ) /////////////////////////////////////////////////////////////////////////////// SET DELETED ON SET DATE FRENCH SET CENTURY ON SET BROWSESYNC ON /* У всех программ MiniGUI должно быть главное окно, которое должно быть определено раньше любого другого окна. */ DEFINE WINDOW Main ; AT 0,0 ; WIDTH 640 ; HEIGHT 480 ; TITLE 'Contactos' ; MAIN ; ICON 'Tutor.Ico' /* DEFINE WINDOW: Начинается определение окна. Должно быть указано имя окна, которое будет единственным для всей программы. (Может быть использовано в коде одно и то же имя более одного раза, но только одно окно может быть активно в одно и то же время) AT: Указывает Ряд,Колонку верхнего левого угла окна (в пикселях) WIDTH: Ширина окна, указанная в пикселях HEIGHT: Высота окна, указанная в пикселях TITLE: Заголовок окна MAIN: Показывает, что определяется главное окно программы */ // Определение главного меню // У каждого меню могут быть разнообразные POPUPы (подменю) // Количество подменю не ограничено. // После DEFINE POPUP указывается название пункта меню // '&' используется, чтобы определить горячую клавишу, ассоциированную // с пунктом меню. В нашем примере используется комбинация ALT+A // Каждый пункт меню определяется посредством MENUITEM. // Класс ACTION указывает процедуру, которая будет выполнена, // когда пользователь выберет данный пункт меню. // SEPARATOR включает горизонтальную линию, использованную, чтобы // отделять пункты меню. DEFINE MAIN MENU DEFINE POPUP '&Archivo' MENUITEM '&Contactos' ACTION AdministradorDeContactos() MENUITEM '&Tipos de Contacto' ACTION AdministradorDeTipos() SEPARATOR MENUITEM '&Salir' ACTION EXIT PROGRAM END POPUP DEFINE POPUP 'A&yuda' MENUITEM 'A&cerca de...' ACTION MsgInfo ('Tutor ABM' + Chr(13) + Chr(10) + '(c) 2003 Roberto Lopez' ) END POPUP END MENU // Закончено определение главного меню // Элемент управления TOOLBAR может содержать разнообразные // кнопки. // Размер всех кнопок определяется с помощью // класса BUTTONSIZE <Ширина>,<Высота> // FLAT создает плоские кнопки // RIGHTTEXT указывает, что текст на кнопках выводится // справа от рисунка, помещенного на кнопку. DEFINE SPLITBOX DEFINE TOOLBAR ToolBar_1 FLAT BUTTONSIZE 110,35 RIGHTTEXT BUTTON Button_1 ; CAPTION 'Contactos' ; PICTURE 'Contactos' ; ACTION AdministradorDeContactos() // CAPTION Указывает текст на кнопке. // PICTURE Файл ассоциированного рисунка (BMP) // ACTION Процедура события, присоединенная к кнопке // (то, что будет выполнено, когда нажмут кнопку) BUTTON Button_2 ; CAPTION 'Tipos Ctto.' ; PICTURE 'Tipos' ; ACTION AdministradorDeTipos() BUTTON Button_3 ; CAPTION 'Ayuda' ; PICTURE 'ayuda' ; ACTION MsgInfo ('Tutor ABM' + Chr(13) + Chr(10) + '(c) 2003 Roberto Lopez' ) END TOOLBAR END SPLITBOX // Строка состояния, которая появляется в нижней части от окна. // У нее могут быть разнообразные секции, определенные посредством STATUSITEM // Существуют опциональные предопределенные секции // CLOCK и DATE (они показывают часы и текущую дату) DEFINE STATUSBAR STATUSITEM "(c) 2003 Roberto Lopez roblez@ciudad.com.ar" CLOCK DATE END STATUSBAR // Закончено определение окна END WINDOW // Требуется развернуть окно на весь экран MAXIMIZE WINDOW Main // Выводим окно на экран ACTIVATE WINDOW Main // Команда ACTIVATE WINDOW устанавливает состояние ожидания. // Программа будет остановлена в этой точке до тех пор, пока окно // не будет закрыто интерактивно или программно. При этом будут выполняться // только процедуры событий, присоединенные к элементам управления окна // (или к самому окну) Return

TimTim: Пример, конечно, замечательный. Побольше бы таких Но недостаточно аккуратное цитирование приводит к некоторому искажению смысла Цитата Андрея полностью : Хоть бы один для примера с кнопочкой Ок разобрали в IDE Мне представляется, что требуется описание всех действий в IDE, скажем создать окно, в нём окошки для ввода текстовой информации, окно для ввода даты и т.д. Показать как связать с БД, рассказать что означают те или иные часто используемые свойства объектов и как их настраивать. Какие в конечном итоге файлы создает IDE и как их "привинтить" к основной программе. Что делать, если надо форму подправить, добавить объекты и т.д ? Прекрасно понимаю, что это с к у ч н о описывать, тем более когда в этом прекрасно разбираешься. Решённая задача всегда кажется легкой! Но для этого не обязательно писать пространные тексты с картинками. Можно воспользоваться, скажем, программами записи с экрана во время работы, потом снабдить ролик всплывающими комментариями или проговорить все действия в микрофон или воспользоваться flas-роликами и т.д. Остаётся сожалеть, что нельзя пообщаться "живьём". Ликбез бы занял от силы пару часов. Но

k_dima: что-то подобное c обучающими мувиками есть для Visual Xharbour, только на англицком. http://www.xharbour.com/xhdn/trainingcenter/index.asp?page=visualxharbour

gfilatov: k_dima пишет: Побольше бы таких Помог, чем мог... TimTim пишет: требуется описание всех действий в IDE Пробуйте методом "научного" тыка открыть готовые примеры из папки Ide\Samples\... и поиграть с ними TimTim пишет: Какие в конечном итоге файлы создает IDE и как их "привинтить" к основной программе. IDE создает файлы форм с расширением .FMG, а также сами программные файлы .PRG, возможно создание файла ресурсов .RC и отчетов в формате .RPT. Для сборки программы без ресурсов и отчетов Вам потребуются только PRG и FMG файлы. TimTim пишет: Что делать, если надо форму подправить, добавить объекты и т.д ? Смотрите окошко со свойствами элементов управления и свойствами самой редактируемой формы. Заголовок этого окна - "Object Inspector [имя редактируемой формы]". TimTim пишет: Ликбез бы занял от силы пару часов. Согласен. Предлагайте варианты...

Andrey: gfilatov пишет: Согласен. Предлагайте варианты... Вариант 1 Установить Web-камеру и поставить программу Skype. Страница для загрузки: http://www.skype.com/intl/ru/ Можно в поиске там искать людей по фамилии и именам.

Andrey: k_dima пишет: что-то подобное c обучающими мувиками есть для Visual Xharbour Классная вещь, мне понравилось ... Спасибо за подсказку !

gustow: Насчет перевода хэлпов - посмотрите, я для примера (и "пробы сил") выложил у себя на http://gustow.narod.ru/tsb_help/topic0.htm перевод help'а по TSBrowse (из релиза 1_39). Комментарии? Предложения (особенно по терминологии)? Могу (если в принципе качество устраивает) начать "лепить" перевод хэлпа по MiniGUI. А училка, кстати, одобрила "весчь"! (видать, не совсем еще "мозги заплыли") :) Рад, что "расколол" сообщество на ДОЛГОЖДАННЫЙ трёп по поводу "Даёшь - в конце концов - _нормальный_ учебник!" :)

Andrey: gustow пишет: "Даёшь - в конце концов - _нормальный_ учебник!" Поддерживаю !!!! Только почему релиз СТАРЫЙ ???

gfilatov: Текущую SVN-версию компилятора Харбор выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5408 Новая сборка Харбор build RC1 не за горами!

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5409 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

gustow: Andrey пишет: Только почему релиз СТАРЫЙ ??? Я (когда еще тот релиз вышел), его для себя из CHM в HTML декомпильнул (использовал неплохую для таких целей утилитку HTM2CHM), перевел (чтобы самому, не напрягаясь каждый раз, как надо что-то посмотреть, переводить в голове с английского) - а потом выложил "для публики" (помянув, кстати, в этом же форуме чуть раньше) у себя на сайте. Поскольку в дальнейших релизах мне пока в новых "наворотах" TSBrowse не понадобилось разбираться - то и не брался "апдейт" делать. Кстати, вопрос: кому-нибудь этот перевод помог? (а то отзывов не было - к слову о "в пустоту" - никаких) (просто интересна "отдача"). Так что - если устраивает подобный вид - можно постепенно и продолжить остальную документацию руссифицировать (а обратно в CHM закатать - та же утилитка и делает). P.S. Так и не получил откликов - нет ли "косяков" с терминологией? (к примеру, не очень точно представляю, как перевести "instant variable") или пожеланий-предложений?

Vlad04: При сборке примера с использованием IDE получаю ошибку: MAKE Version 5.2 Copyright (c) 1987, 2000 Borland echo D:\MINIGUI_1552\IDE\SAMPLES\TSBROWSE\OBJ\Demo.obj + >b32.bc echo C:\BORLAND\BCC55\LIB\c0w32.obj, + >> b32.bc echo D:\MINIGUI_1552\IDE\SAMPLES\TSBROWSE\Demo.Exe,Demo.map, + >> b32.bc echo D:\MINIGUI_1552\LIB\minigui.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\dll.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\compiler.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\rtl.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\vm.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\gtgui.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\rdd.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\hsx.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\dbfntx.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\dbfcdx.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\dbffpt.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\hbsix.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\lang.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\codepage.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\macro.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\common.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\debug.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\pp.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\hbpcre.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\libct.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\libmisc.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\hbole.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\hbprinter.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\miniprint.lib + >> b32.bc echo D:\MINIGUI_1552\HARBOUR\LIB\socket.lib + >> b32.bc echo C:\BORLAND\BCC55\LIB\cw32.lib + >> b32.bc echo C:\BORLAND\BCC55\LIB\import32.lib, >> b32.bc echo D:\MINIGUI_1552\RESOURCES\hbprinter.res + >> b32.bc echo D:\MINIGUI_1552\RESOURCES\miniprint.res + >> b32.bc echo D:\MINIGUI_1552\RESOURCES\minigui.res >> b32.bc C:\BORLAND\BCC55\BIN\ILINK32.EXE -Gn -Tpe -aa -LC:\BORLAND\BCC55\LIB @b32.bc Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_HB_FUN__DEFINETBROWSE' referenced from D:\MINIGUI_1552\IDE\SAMPLES\TSBROWSE\OBJ\DEMO.OBJ Error: Unresolved external '_HB_FUN__ENDTBROWSE' referenced from D:\MINIGUI_1552\IDE\SAMPLES\TSBROWSE\OBJ\DEMO.OBJ ** error 2 ** deleting D:\MINIGUI_1552\IDE\SAMPLES\TSBROWSE\Demo.Exe

gfilatov: Vlad04 пишет: Error: Unresolved external '_HB_FUN__DEFINETBROWSE' Поскольку в этом примере используется библиотека TSBrowse, необходимо добавить ее как внешнюю библиотеку с помощью меню Tools->Preferences в поле Additional Libraries. Тогда в файле ide.ini появится следующая строка (просто для контроля): [wPreferences] ... wLibs=c:\minigui\lib\tsbrowse.lib ...

gfilatov: Текущую SVN-версию компилятора Харбор выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5417 Выпуск Харбор build RC1 все ближе!

Vlad04: Спасибо.Работает. Еще взгляните пример для IDE TEXTBOX. Выдает ошибку Date: 06/03/08 Time: 15:31:03 Error BASE/1118 Argument error: DTOC Called from DTOC(0) Called from _DEFINECHARMASKTEXTBOX(905) Called from MAIN(30) И у меня предложение , к тем кто активно использует IDE - делитесь примерами работы с таблицами

gfilatov: Vlad04 пишет: Еще взгляните пример для IDE TEXTBOX. Выдает ошибку Спасибо, поправлю Выложил исправленную версию IDE по адресу: http://minigui.mylivepage.ru/file/?fileid=5419 Еще раз спасибо за Ваше сообщение об ошибке!

sashaBG: Примерчик SAMPLES\BASIC\DO_REPORT DO REPORT ничего не показывает ? может проблема из за того что текущий принтер у меня FinePrint

alex_II: Не отрабатывает событие ON CHANGE при автоприсвоении VALUE Пример ниже: @ 10,80 GETBOX GetBox_dbf VALUE '' WIDTH 340 HEIGHT 26 ; ACTION Form_imp.GetBox_dbf.Value := Getfile({{'dbf', '*.dbf'}},,NIL) ; ON CHANGE {|| IF(Len(AllTrim(Form_imp.GetBox_dbf.Value))#0, ; Form_imp.Bt_import.Visible := .T.,Form_imp.Bt_import.Visible := .F.)}

gfilatov: alex_II пишет: Не отрабатывает событие ON CHANGE при автоприсвоении VALUE Просто замените в примере: @ 10,80 GETBOX GetBox_dbf VALUE '' WIDTH 340 HEIGHT 26 ; ACTION ( Form_imp.GetBox_dbf.Value := Getfile({{'dbf', '*.dbf'}},,NIL), MyVisible() ) ; ON CHANGE {|| MyVisible() } Proc MyVisible() IF !Empty(Form_imp.GetBox_dbf.Value) ___Form_imp.Bt_import.Visible := .T. Else ___Form_imp.Bt_import.Visible := .F. EndIf Return

alex_II: Увы, тот же результат Событие отработает если только будет ручное изменение поля GETBOX

Vlad04: Для sashaBG Примерчик SAMPLES\BASIC\DO_REPORT DO REPORT ничего не показывает ? может проблема из за того что текущий принтер у меня FinePrint Все нормально работает, проверь с принтером реальным

gfilatov: alex_II пишет: Событие отработает если только будет ручное изменение поля GETBOX Именно так, поэтому я и предложил добавить в обработчик события Action дополнительные действия, которые прописаны в ON CHANGE, и не париться по этому поводу...

alex_II: Пардон, невнимателен. Не заметил, что в ON CHANGE добавлен еше один вызов функции. Теперь все работает, спасибо

gfilatov: Выложил долгожданный релиз-кандидат RC1 компилятора Харбор по адресу: http://minigui.mylivepage.ru/file/?fileid=5430 Долгожданный релиз потому, что прошел почти год с момента выпуска предыдущей стабильной версии Харбора 0.99.3 Ниже изменения в этом релизе на языке оригинала: Version 1.0.0 RC1 (2008-06-05) ===================== General ============================= - The SourceForge repository was moved from CVS to SVN - added docs/howtosvn.txt - changed pack_src.sh to extract list of files from local SVN copy using SVN commands - improved CYGWIN compatibility - new alternative make system for BCC, MSVC and GCC (maybe others in the future) which uses common dependences list. The old GNU make system is still functional and working - added support for pure C MSVC builds (not C++) - added rules to generate DEB packages - by Luis Mayoral taken from Debian distribution updated for current code - added new man pages and updated the old ones taken from Debian - fully removed flex and bison dependences in normal builds. Only developers who want to change the grammar files needs bison - removed all HB_COMPAT_XHB definitions from source code - now all covered extensions should be supported by hbcompat.ch and/or xhb library - removed 3-rd party header files from SVN, f.e.: ace.h Portability ----------- - eliminated errno access for platforms which do not have it. - added support for PocketPC WINCE with MSVC, POCC, CeGCC and MinGWCE. - added support for cross WinCE builds - extended hb* scripts for cross builds: hbw* - Win32, hbce* - WinCE - added support for creating RPMs with Harbour cross build for Win32 and WinCE. - added support for MS-Windows UNICDE builds. - added support for shared libraries (.sl) in HPUX builds - added large file support (64bit) in HPUX builds - disabled in default BSD* builds DOS/Windows DENY_* flags emulation implemented by BSD locks - tests on FreeBSD 6.2 and MacOSX shows that it badly interacts with POSIX locks and it's possible to create deadlock. The compiler ============================== syntax: ------- - added direct support to compiler for ENDSW[ICTH], ENDDO, ENDC[ASE], ENDI[F], ENDW[ITH], ENDSEQ[UENCE] Now they are not translated by preprocessor to END what allows better typos detection in .prg code because each statement can use its own unique close directive - forbidden using EXIT and LOOP inside ALWAYS code in BEGIN/END sequence - forbidden using ALWAYS statement if RECOVER code has EXIT or LOOP statement - removed some restrictions on reserved words like using IF, IIF, _FIELD as field name - added support for (@var):<msg> - fixed many syntax expressions which where accepted by grammar definition but not supported by compiler, f.e. @func(p) - added support for HB_ENUM*([@]<varname>) functions - disabled by default can be enabled by HB_USE_ENUM_FUNCTIONS macro - added support for DYNAMIC functions - references resolved at runtime. internals: ---------- - fixed LOOP used inside SWITCH/CASE.../END[SWITCH] statements - fixed using EXIT/LOOP inside WITH OBJECT / END[WITH] statement - fixed optimization of empty BEGIN/END sequence when recover has EXIT or LOOP statement - fixed using EXIT/LOOP inside extended codeblocks when loop is external to codeblock definition - fixed using RETURN inside extended codeblocks when they are defined inside BEGIN SEQUENCE statement - many other fixes for problems which can appears in nested extended codeblock definitions - fixed problems with line numbering in extended code blocks - fixed compiler -w3 warning when class has different name then class function. - optimizations in generated PCODE and extended compile time optimizations - added support for --version compiler switch for platforms which use '-' as option separator - added new compiler switches: -q2 - disable _ALL_ stdout/stderr messages -kM - turn off macrotext substitution -ks - changed to pass base value by reference what allow full [] operator overloading - added new compiler switches for automatic filename, pathname and path separators translations (-fn*, -fd*, -fs*, -fp*) used for file open during compilation - added support for dynamically set during compilation ChangeLog entry, ChangeLog ID, SVN revision and compilation flags. Update Harbour logo message to show the exact revision number and - removed non-working compiler frontends: .NET CLI and JAVA. - added support for i18n into compiler (-j[<filename>] switch) gettext compatible .pot files are generated preprocessor: ------------- - added support for logical constants .T., .F., .Y., .N. in #IF ... / #ELIF ... PP directives - added support for changing all -k? switches by #pragma, f.e.; #pragma -ks+ #pragma -kM- #pragma -kx1 #pragma -kJ0 - added to PP predefined defines: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID with ChangeLog entry, ChangeLog ID and SVN revision - added to PP support for: #pragma __[c]streaminclude "fileName"|<code with %s result marker> The runtime modules ============================= - renamed core libraries - cleaned code and guards all extensions to pure CL5[23] with HB_EXTENSION macro. - turned off HB_EXTENSION for the default builds. API --- - added C functions to access SET values (hb_setGet*()) which should be used instead of direct accessing HB_SET structure - added hb_fsFileExists() and hb_fsDirExists() - added hb_arraySet*() functions - they should help 3-rd party developers to eliminate using C stack level HB_ITEM and reduce usage of potentially danger function like hb_arrayGetItemPtr() - added hb_itemParamStore[Forward]() functions - added hb_dateMilliSeconds() VM -- - FOR EACH detached enumerators now does not change on next iterations - added support for scalar classes with operator overloading - added full support for passing object items by reference even if they are not real variables but SETGET methods - added support for setting string characters by assigning FOR EACH iterator, f.e.: FOR EACH c IN (@cVar) c := Upper( c ) NEXT - added full support for FOR EACH overloading - extended PROCFILE() function - now it can accept <nLevel> | <sFuncSym> | <cFuncName> as first parameter, f.e.: PROCFILE( @someFunc() ) or PROCFILE( "PUBLICFUNC" ) or PROCFILE( nStackLevel ). For non character parameters it fully works also for static functions even if source code have many static functions with the same name - added support for detecting not cleanly overloaded by linker .prg functions. - cleaned PCODE module unload procedure. - added support for executing all inherited multiple object destructors. DEBUGGER -------- - many fixes and extensions in debugger code mostly by Phil Krylov borrowed from xHarbour - added to debugger support for inspecting objects which use hidden methods and members with the same names in different classes in inheritance tree - now context is dynamically changed RTL --- - added functions for translation to/from UTF8 mode and operations on UTF8 strings - added functions for bit manipulations: HB_BIT*() and for conversions to/from hexadecimal format - added set of functions with hb_ prefix supported extended parameters, f.e.: HB_AINS(), HB_ADEL(), HB_ASCAN(), HB_RASCAN(), HB_GETENV(), HB_AT(), ... - added HB_FILEEXISTS(), HB_DIREXISTS() - new TBROWSE class which is now very highly compatible with Clipper It should resolve 99.9% problems with BROWSE reported in the past. - TBCOLUMN class is now fully Clipper compatible - many fixes and cleanups in TGET class - many fixes to GETSYS functionality, especially 5.3 compatible features. - many fixes and cleanups in CL53 classes like TOPBAR, POPUP, MENUSYS, MENUITEM and related functions. - Made C5.3 UI classes fully working and compatible. - ERROR class rewritten in C so now it's possible to create new error objects also with active exceptions - added missing support for _SET_FILECASE, _SET_DIRCASE switches in some functions - added _SET_TRIMFILENAME - when enabled low level hb_fs*() functions strip trailing and leading spaces from file names to emulate DOS like behavior - added support for _SET_DEFEXTENSIONS to native all RDDs - many fixes in transform() function and fixed 64bit integer transformation. Now transform() passes our all compatibility tests - added undocumented Clipper error functions - added functions to manage .ini files: HB_INI*() - extended HB_KEYPUT to support strings and arrays. - converted HIDDEN methods and members in RTL objects to PROTECTED for easier class extension in user code - added many undocumented Clipper's C and .prg functions. MACRO COMPILER -------------- - removed some restrictions on reserved words like using IF, IIF, _FIELD as field name COMPILER -------- - added support for full compiler code integration with compiled programs WARNING: Please remember that compiler in Harbour is covered by pure GPL license and final programs should respect it so use compiler library only with programs which respects GPL. GT: --- - Added new GT driver GTTRM. It's terminal GT which can be used in different *nixes. Unlike GTCRS or GTSLN it does not use any external libraries like [n]curses or slang or databases with terminal description (termcap/ terminfo). It has hard coded support only for few terminals (Linux,ANSI, XTERM) but because uses only very limited set of escape sequences then on most currently used terminals it works better then curses or slang based programs. GTTRM automatically detects ISO/UTF8 terminal mode at startup and chose valid output what should also help *nix users - it resolves problems with some box drawing characters and others which are not accessible in ISO mode. It also respects /etc/harbour/hb-charmap.def like GTCRS. As long as user code does not execute and full screen commands then it works like GTSTD so can be used also for simple stream programs. - added new GT driver GTWVG. It's works like GTWVT but has additional support for GUI elements - changed GTI_* defines to HB_GTI_* - added optional hb_gtInfo() switch HB_GTI_COMPATBUFFER which can force using DOS compatible video buffers in all GTs. Anyhow please remember that it may cause that some extended information stored by GT driver in video buffer will be lost. - added HB_GTI_ADDKEYMAP and HB_GTI_DELKEYMAP to define/remove new escape key sequences in terminal based GTs. It's supported by GTCRS and GTTRM - fixed color string decoding to be fully Clipper compatible - OUTSTD()/OUTERR() respects automatic CP translation when they are not redirected to GT screen - added common for all GTs CLIPBOARD support. If possible low level GT drivers uses system clipboard otherwise they emulate it for Harbour application only Multilangual: ------------- - added new lang and codepage modules: SK, BG, BE, HR, UA, LT, SV, etc. - updated codepage code for better handling accented and multibyte characters. RDD ============================= - added support for memo file packing in PACK operation - added new DBF fields like: AUTOINC (+), ROWVERSION (^), TIME (T), DAYTIME (@/T), MODTIME (=), binary integers with fixed decimal places, etc. - removed limit for maximum size of relation string expression - fixed registering workareas with numbers from 65280 to 65534. - added SIX3 compatible library - now Harbour supports all SIX3 functions and extensions like triggers. The HiPer-SEEK and CFTS (HS_*() and CFS*() functions) was added before in hsx library. Now only bitmap filters (m6_*() functions) are not supported in SVN Harbour version. Contrib ============================= - renamed contrib libraries - TIP library borrowed from xHarbour and adopted to Harbour - added HBCURL - libcurl interface library (rooted from the xHarbour version, but heavily fixed and further developed). - added HBSQLIT3 - SQLite 3.x Harbour callable library. - fixes in MySQL and PGSQL library - cleanup and many fixes in NF library - cleanup code of CT3 library with many modifications and fixes - most of in/out CT3 functions rewritten to use GT API so now they can work on all platforms and with all GTs - added support for contrib libraries and new make system - many contrib libraries borrowed from xHarbour code - added xHarbour compatibility library: xhb. It emulates many of xHarbour behavior which cannot be covered by PP rules like extended operators, strings like arrays, one byte string in math operations, HB_ENUMINDEX(), HB_QWith(), HB_QSelf(), accessing hash item using OOP interface, accessing/assigning string characters using [] operators (many of the above fully works only in Harbour but not in native xHarbour code :-)) and many extensions like HBLOG, HBXML, HBCSTRUCT, HASH, INET*(), etc. - added HBTPATHY - Telepath(y) compatible comm. library. - added HBWHAT32 - Windows API interface. - added HBFBIRD - Firebird db access interface. - added hbcompat.ch file which hides many differences between Harbour and xHarbour compilers using PP directives. - added hbzlib library - it's wrapper to ZLIB and MINIZIP library which allows for compress and decompress streams, character variables, .gz and .zip files - fixes and extensions in ADORDD - added automatic ACE version detection during building ADSRDD - added many new Ads*() functions wrappers and cleaned code for possible GPFs when wrong parameters were passed to some functions - added HBHPDF - interface for Haru Free PDF Library. - added HBVPDF - Viktor K's PDF Library + Pritpal Bedi's OOP extension. - enhanced and fixed HBW32 library - OLE and printing Utilities ============================= - added HBDOT utility program. It's a "Dot Prompt" Console for the Harbour Language Syntax: hbdot [<hrbfile[.prg]> [<parameters,...>]] It should look and work in similar way to pp/xBaseScript by Ron Pinkas but unlike xBaseScript is does not have preprocessor or simulated runtime environment but simply uses Harbour pp and compiler libraries to preprocess and compile commands. It means that it supports all language constructions also statements, f.e.: "for i:=1 to 10; ? i; next" Additionally it can also compile and execute .prg files given as first parameter just like hbrun. - added many new tests to hbtest - renamed ppgen to hbppgen.

Петр: Григорий, в чем смысл переименования библиотек?

gfilatov: Петр пишет: в чем смысл переименования библиотек? А библиотеки как раз и не переименовывались Для удобства пользователей Минигуи названия библиотек Харбора оставлены старыми в целях сохранения совместимости со старыми скриптами, менеджерами программ и т.п. Поэтому эта сборка носит подзаголовок: Harbour MiniGUI Extended Distribution Если будут активные пожелания-протесты пользователей о переименовании библиотек, то, конечно, сделаю

Pasha: Петр пишет: в чем смысл переименования библиотек? чтобы создать веселую жизнь пользователям Харбора :) На моей памяти xHarbour\ct переименовывали несколько раз Имхо, пусть переименовывают библиотеки, лишь бы проект развивался и дальше и разработчики не теряли к нему интереса

DmP: gfilatov пишет: COMPILER -------- - added support for full compiler code integration with compiled programs WARNING: Please remember that compiler in Harbour is covered by pure GPL license and final programs should respect it so use compiler library only with programs which respects GPL. Прошу прощения, за глупый вопрос, но как понимать этот пункт? Что программа написанная под харбором должна быть GPL?

gfilatov: DmP пишет: как понимать этот пункт? Речь идет, насколько я понял, о Харбор-библиотеке compiler.lib, использование которой возможно только в программах под лицензией GPL.

DmP: Спасибо за ответ! :)

Петр: gfilatov пишет: А библиотеки как раз и не переименовывались Для удобства пользователей Минигуи названия библиотек Харбора оставлены старыми в целях сохранения совместимости со старыми скриптами, менеджерами программ и т.п. Поэтому эта сборка носит подзаголовок: Harbour MiniGUI Extended Distribution Я как раз имел ввиду, что вы переименовали стандартные Harbour библиотеки ИМХО, эта "плохая" услуга для пользователей и Harbour и MiniGUI Ex. Переписать скрипты, bat файлы или исправить файлы конфигураций - если не минутное дело, то во всяком случае не намного больше времени займет. А вот ориентироваться в названиях стандартных библиотеках компилятора, который используешь стоит. Никаких активных пожеланий-протестов пользователей, опять же на мой взгляд, ясное дело не будет. Не знаю, как называется сборка, просто не обратил внимание - но пост вы назвали Harbour Compiler RC1 build (SVN 2008-06-06 10:21). Знаете, название иногда обязывает К тому же в сборку попала rddads.lib из контриб. Если взять во внимание. что правила сборки этой библиотеки изменились, то лучше собирать ее самому. И не попала hbhpdf.lib - HaruPDF, поверьте эта библиотека будет интересна пользователям MiniGUI, вопросы о выводе в PDF возникают регулярно. Очень любопытная вещица hbcurl.lib можно использовать для генерации POST-запроса, HTTP-авторизации, FTP-сессии и т.д. Все это, конечно, субьективные мысли, но Harbour очень повзрослел, и за год который прошел от выпуска предыдущей стабильной версии сделал очевидный шаг вперед. Так, что всем рекомендую, скачивайте, пробуйте - не пожалеете.

Петр: Pasha пишет: Имхо, пусть переименовывают библиотеки, лишь бы проект развивался и дальше и разработчики не теряли к нему интереса Абсолютно с вами согласен

Петр: gfilatov пишет: Речь идет, насколько я понял, о Харбор-библиотеке compiler.lib Именно, чтоб не захотелось, случайно, взять Harbour компилятор, переименовать его как-то, возможно прикрутить IDE и продавать, как собственную разработку.

DmP: Петр пишет: Именно, чтоб не захотелось, случайно, взять Harbour компилятор, переименовать его как-то, возможно прикрутить IDE и продавать, как собственную разработку. Однако, то что генерирует это библиотека, тоже может оказаться GPL-контентом. Да впрочем и без этого к программе линкуется куча рунтайм библиотек харбора, если хоть одна из них под лицензией GPL, то полученная программа подпадает под эту лицензию ... я к сожалению ни чего не знаю о политике лицензирования харбора, поэтому и интересуюсь.

Петр: DmP пишет: Однако, то что генерирует это библиотека, тоже может оказаться GPL-контентом. Может. Но для создания такого контента вы спокойно можете воспользоваться Harbour компилятором. Да впрочем и без этого к программе линкуется куча рунтайм библиотек харбора, если хоть одна из них под лицензией GPL, то полученная программа подпадает под эту лицензию Не совсем верно. Harbour лицензия предполагает исключение * The exception is that, if you link the Harbour libraries with other * files to produce an executable, this does not by itself cause the * resulting executable to be covered by the GNU General Public License. * Your use of that executable is in no way restricted on account of * linking the Harbour library code into it. Под это исключение подпадают все стандартные библиотеки, за исключением compiler.lib. Т.е. вас никто не заставляет распространять произведенный вами продукт под GNU GPL с открытым кодом. и вы свободно можете производить продукт, продавать, распространять его любым способом и не открывать исходный код. Это разумеется если вы придерживаетесь лицензии Harbour и не используете compiler.lib в не GPL продуктах. Еще конечно возникает вопрос об использовании harbour.dll..

DmP: Петр пишет: Не совсем верно. Harbour лицензия предполагает исключение О, здорово, это окончательно проясняет ситуацию. Спасибо за ответы. Петр пишет: Еще конечно возникает вопрос об использовании harbour.dll.. А что с ней может быть не так? :)

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5473 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

gfilatov: Выложил обновленный релиз-кандидат RC1 компилятора Харбор (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=5475 За последние 2 недели усилиями Виктора (Viktor Szakats) проведена значительная чистка кода как самой библиотеки, так и дополнений (contribs) к ней З.Ы. Наименования библиотек оставлены старыми в целях совместимости со старыми сценариями сборки программ

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №53, которая выйдет завтра. Что нового: - исправление обнаруженных ошибок и неточностей кода; - расширения и исправления в библиотеках WinReport, PropGrid и HbPrinter; - обновлены сборки Харбора 1.0.0RC1 и HMGS-IDE; - новые и обновленные старые примеры (как обычно ). Спасибо за внимание!

gfilatov: Новый релиз выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=5519 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-53-setup.zip Желаю всем удачи!

gfilatov: Просто замечание: если Вы используете библиотеку MiniGUI вместе с компилятором xHarbour, рекомендую скачать облегченную версию инсталлятора с сервера http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-53-setup-lite.zip Эта сборка меньше по размеру, поскольку из нее убран компилятор Харбор RC1.

alex_II: Hi! При переходе с 52 на 53 релиз получил следующее: ... Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_gzopen' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzdopen' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzclose' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzsetparams' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzread' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzwrite' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzgets' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzputs' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzgetc' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzungetc' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzflush' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzseek' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzrewind' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gztell' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzeof' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzdirect' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzerror' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Error: Unresolved external '_gzclearerr' referenced from C:\MINIGUI\HARBOUR\LIB\RTL.LIB|hbzlib Григорий!, как выйти из ситуации и где взять недостающую библиотеку, если она нужна?

gfilatov: alex_II Пожалуйста, покажите свой код, который вызвал такую ошибку. Похоже, что Вы хотите использовать zip-архивирование, используя библиотеку hbzlib Тогда Вы можете либо самостоятельно собрать эту библиотеку, либо дождаться следующей сборки Харбора, в которую я ее включу...

alex_II: Григорий Ситуация более запутанная чем я думал Для архивации я использую библиотеку из комплекта Харбора -> ziparchive.lib Сначала я закоментировал все команды работы с архивом - ошибка осталась Потом отключил библиотеу ziparchive.lib - ошибка осталась Тогда я взял другой небольшой проект не использующий архивацию и он тоже выдал аналогичные ошибки Все это касается только 53 релиза, до этого все работало Проекты свои я веду в xMate, который успешно работал по 52 релиз Для информации привожу конфигурационный файл xMate моего проекта: [Version] Type=xMate Number=1.15.3 [Info] Type=Executable Architecture=Minigui53 Include=C:\MiniGUI\Include;%HB_INSTALL%\include Define= [xMate] Create Map/List File=No [Project] Run=%HOME%\CheckSub.exe Params= Final Path=E:\Sou.may\xMate\CheckSub Maintain LNK=Yes Default Type=1 Error log= [Data Path] [Editor] E:\Sou.may\xMate\CheckSub\Source\CheckSub.prg=1,N,Y E:\Sou.may\xMate\CheckSub\Source\fun.prg=2,N,N E:\Sou.may\xMate\CheckSub\Source\CheckSub.rc=3,N,N [Files] %HOME%\Source\CheckSub.prg=1,.F.,654,59, %HOME%\Source\CheckSub.rc=2,.F.,10,29, %HOME%\Source\fun.prg=3,.F.,321,1, C:\MiniGUI\RESOURCES\hbprinter.res=4,.F.,0,0, C:\MiniGUI\RESOURCES\miniprint.res=5,.F.,0,0, C:\MiniGUI\RESOURCES\minigui.res=6,.F.,0,0, %C_LIB_INSTALL%\C0W32.OBJ=7,.T.,0,0, C:\MiniGUI\Lib\tsbrowse.LIB=8,.T.,0,0, C:\MINIGUI\LIB\propgrid.lib=9,.T.,0,0, C:\MINIGUI\LIB\minigui.LIB=10,.T.,0,0, %HB_LIB_INSTALL%\dll.lib=11,.T.,0,0, %HB_LIB_INSTALL%\gtgui.lib=12,.T.,0,0, %HB_LIB_INSTALL%\compiler.lib=13,.T.,0,0, %HB_LIB_INSTALL%\rtl.lib=14,.T.,0,0, %HB_LIB_INSTALL%\vm.lib=15,.T.,0,0, %HB_LIB_INSTALL%\lang.lib=16,.T.,0,0, %HB_LIB_INSTALL%\codepage.lib=17,.T.,0,0, %HB_LIB_INSTALL%\macro.lib=18,.T.,0,0, %HB_LIB_INSTALL%\rdd.lib=19,.T.,0,0, %HB_LIB_INSTALL%\hsx.lib=20,.T.,0,0, %HB_LIB_INSTALL%\dbfntx.lib=21,.T.,0,0, %HB_LIB_INSTALL%\dbfcdx.lib=22,.T.,0,0, %HB_LIB_INSTALL%\dbffpt.lib=23,.T.,0,0, %HB_LIB_INSTALL%\hbsix.lib=24,.T.,0,0, %HB_LIB_INSTALL%\common.lib=25,.T.,0,0, %HB_LIB_INSTALL%\debug.lib=26,.T.,0,0, %HB_LIB_INSTALL%\pp.lib=27,.T.,0,0, %HB_LIB_INSTALL%\hbpcre.lib=28,.T.,0,0, %HB_LIB_INSTALL%\libct.lib=29,.T.,0,0, %HB_LIB_INSTALL%\libmisc.lib=30,.T.,0,0, %HB_LIB_INSTALL%\hbole.lib=31,.T.,0,0, %HB_LIB_INSTALL%\hbprinter.lib=32,.T.,0,0, %HB_LIB_INSTALL%\miniprint.lib=33,.T.,0,0, %HB_LIB_INSTALL%\socket.lib=34,.T.,0,0, %HB_LIB_INSTALL%\ziparchive.lib=35,.T.,0,0, %C_LIB_INSTALL%\CW32.LIB=36,.T.,0,0, %C_LIB_INSTALL%\IMPORT32.LIB=37,.T.,0,0, Секция [Files] совпадает по составу библиотек и их порядку следования c файлом создаваемым Compile.bat из состава minigui Что же изменилось в 53 релизе мне определить не удалось

gfilatov: alex_II Выложил обновленный релиз-кандидат RC1 компилятора Харбор 1.0.0 (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=5593 Эта сборка содержит библиотеку hbzlib в папке harbour\lib. Надеюсь, это решит Вашу проблему

gfilatov: alex_II пишет: Что же изменилось в 53 релизе мне определить не удалось Библиотека hbzlib была добавлена разработчиками в состав основных библиотек Харбора.

alex_II: Спасибо Григорий, после обновления компилятора Харбор проблема была решена

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5614 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-53a-setup.zip Что нового: - исправление обнаруженных ошибок и неточностей кода; - все базовые примеры проверены (и поправлены ) на отсутствие предупреждений компилятора; - обновление сборки Харбора 1.0.0 rc2; - новые и обновленные старые примеры (как обычно ). Спасибо за внимание!

Vlad04: Перекомпилировал MiniGui для XHARBOUR(вер 1.0.0) Собираю пример TSBROWSE с использованием IDE и получаю ошибку ... echo C:\XHARBOUR\LIB\pp.lib + >> b32.bc echo C:\XHARBOUR\LIB\pcrepos.lib + >> b32.bc echo C:\XHARBOUR\LIB\ct.lib + >> b32.bc echo C:\XHARBOUR\LIB\libmisc.lib + >> b32.bc echo C:\BORLAND\BCC55\LIB\cw32.lib + >> b32.bc echo C:\BORLAND\BCC55\LIB\import32.lib, >> b32.bc echo C:\MINIGUI\RESOURCES\hbprinter.res + >> b32.bc echo C:\MINIGUI\RESOURCES\miniprint.res + >> b32.bc echo C:\MINIGUI\RESOURCES\minigui.res >> b32.bc C:\BORLAND\BCC55\BIN\ILINK32.EXE -Gn -Tpe -aa -LC:\BORLAND\BCC55\LIB @b32.bc Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_HB_FUN__DEFINETBROWSE' referenced from C:\MINIGUI\IDE\SAMPLES\TSBROWSE\OBJ\DEMO.OBJ Error: Unresolved external '_HB_FUN__ENDTBROWSE' referenced from C:\MINIGUI\IDE\SAMPLES\TSBROWSE\OBJ\DEMO.OBJ ** error 2 ** deleting C:\MINIGUI\IDE\SAMPLES\TSBROWSE\Demo.Exe

Петр: Tools->Preferences добавить в Additional Libraries - tsbrowse.lib, конечно с full path

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5698 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-54-setup.zip Что нового: - исправление обнаруженных ошибок и неточностей кода; - добавлена поддержка болгарского языка в ядре библиотеки; - все примеры приложений проверены (и поправлены ) на отсутствие предупреждений компилятора; - обновление сборки Харбора 1.0.0 до финальной версии, которая выйдет 1 августа 2008г.; - новые и обновленные старые примеры (как обычно ). Спасибо за внимание!

gfilatov: Выложил сборку компилятора Харбор 1.0.0 для BCC5.5.1 (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=5731 Что нового (на языке оригинала): Version 1.0.0 (2008-08-01) tag: 1.0.0 General ============================= - Internal errors are now logged to file. - Fixed -gc3 for doubly negated integers. - Changed hb_xrealloc() to be ANSI-C realloc() compatible. - Cleanup of MSVC C mode static initialisation code. - Changed internal representation for file attributes from USHORT to ULONG. - Fixed memory leak in -gw mode. - Portability fixes (Unicode, 64 bit, Pelles C 32/64 bit, WinCE, eVC4, XCC, Linux mouse detection, OpenWatcom). - Deployment fixes. Core ============================= - Fixed __HARBOUR__ macro on .prg level, when compiled with -u switch. - HB_ARRAYID() moved to xhb.lib, synced with xhb and made 64 bit compatible. - File handle usage cleanup and 64 bit compatibility. - Automatic destructors for .hrb modules. - Added passing non-string parameters to .hrb functions. - Fixed casting for indexes with key length greater then 196 bytes created on tables with record number smaller then 256 in rddcdx. - New FS API functions: hb_fsSetFileTime(), hb_fsGetFileTime(), hb_fsSetAttr(), hb_fsGetAttr(). - New date API function: hb_timeStampEncode(). - Fixed printing under OS/2. - Implemented DBEDIT() DE_APPEND mode plus some other features and compatibility fixes. - MD5 calculation fixes. - Added C level hb_hashAddNew(). - Compile time optimization of EMPTY() function. - Compress trailing spaces during string item serialization. - Replicated CA-Cl*pper compile time optimization bugs. - TCP/IP function (HB_INET*()) fixes. - Added HB_OSFILEMASK(), HB_DIRSCAN(), HB_FILEMATCH() Harbour level functions. - Fixed RTE in HBReportForm() class. - Added __OBJGETPROPERTIES(), extended __CLSGETPROPERTIES(). Contrib ============================= - Better cross-build support for contribs with external dependencies. - hbmzip OS/2 support, Unix .zip header fix, using Harbour memory management functions, global and file comment support, HB_ZIPDELETEFILE() function. - hbziparch fixes and better portability. - hbcurl fixes, now using Harbour memory allocation functions, now older libcurl versions are supported as well, CURL_EASY_GETINFO() fixed for unsupported info types. - 64bit compatibility fixes. hbmysql/SQLLISTF() function now uses pointer instead of numeric type. - Fixed adordd to be _SET_EXACT independent. - Fixed hbodbc tests to work out of the box. - hbw32, hbodbc 64 bit fixes. - Fixed rddads to behave Clipper-like when trying to write when on EOF position. - Added OS version detection functions to hbw32. - Fixed HB_INC_* envvar usage in *_all.bat files. - Fixed casting for indexes with key length greater then 196 bytes created on tables with record number smaller then 256 in hbbmcdx. - hbsqlit3 warning fixes and error fixes for some compilers/modes. - Added DirectoryRecurse()() to xhb.lib.

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5770 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

gfilatov: Обновил сборку компилятора Харбор 1.0.0 для BCC5.5.1 (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=5827 Поскольку выпуск версии Харбора 1.0.0 датирован как Version 1.0.0 (2008-08-10) tag: 1.0.0 ее можно рассматривать как финальную.

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5893

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №55, которая выйдет во вторник. Что нового: - исправление обнаруженных ошибок и неточностей кода; - синхронизация с изменениями в официальной версии HMG выпусков 2.5.4-2.5.9 (оригинальный автор библиотеки снова в строю); - переработка кода элемента управления Grid для ускорения его работы при использовании динамического цвета; - расширения и исправления в библиотеке TsBrowse; - обновлены сборки Харбора (до версии 1.0.0 final) и HMGS-IDE; - новые и обновленные старые примеры (как обычно ). Особая благодарность - Владимиру Чумаченко за новый пример интеграции библиотек FreeImage и SQLite3 З.Ы. Хотел опубликовать новый релиз завтра, но у нас на Украине - выходной после празднования Дня независимости

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5923 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-55-setup.zip Желаю всем удачной выкачки!

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=5947 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE.

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Подготовлена к опубликованию новая сборка №56, которая выйдет завтра. Что нового: - исправление обнаруженных ошибок и неточностей кода; - синхронизация с изменениями в официальной версии HMG выпусков 2.6.1-2.6.4; - добавлено автообновление формы при использовании события OnSize; - исправления в библиотеке PropertySheet; - обновлены сборки Харбора (до версии 1.0.1) и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=5992 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-56-setup.zip Хотелось бы представлять себе, сколько активных пользователей у библиотеки. Если Вы скачали эту сборку и используете ее для работы/изучения, не поленитесь отписаться в этой теме форума Желаю всем удачной выкачки!

Dimka: отписался.

gfilatov: Dimka пишет: отписался Спасибо. Можно и подлиннее: какие задачи решаете? что нравиться/не нравиться в этой сборке? и т.д.

i3t4j6: Спасибо огромное ! Эту библиотеку использую для работы ! ВсЁ нравится (ну или почти всё !!!)

k_dima: Примерчики смотрю, в качестве обучения. Автору Спасибо ! Такого количества примеров нет даже в коммерческом fivewin

Dimka: http://clipper.borda.ru/?1-4-0-00000351-000-0-0-1220523964 сейчас почти работает)))))

Andrey: gfilatov пишет: Если Вы скачали эту сборку и используете ее для работы/изучения, не поленитесь отписаться в этой теме форума Изучаю ! Пробовал осваивать Visual xHarbour - плющит его ! Очень большой недостаток МиниГуи, что нет IDE ! Может можно было бы прикрутить сюда чужой IDE ? Было бы здорово !!! Хотелось еще бы чтоб ответы из этой ветке были-бы и в ветке хХарбора... см. http://clipper.borda.ru/?1-4-0-00000350-000-0-0-1219855561 Спасибо тебе большое, Григорий !!!

gfilatov: Andrey пишет: Очень большой недостаток МиниГуи, что нет IDE ! Как это нет? А в папке minigui\Ide смотрели? С помощью этого Ide Вы можете создать проект, в котором размещать все взаимосвязанные модули, формы, ресурсы и отчеты Есть мастера для построения главного меню, а также контексного, dropdown- и notify-меню, меню кнопок и статусной строки. Затем проект может быть откомпилирован (с информацией о допущенных ошибках, если таковые были) и запущен прямо из Ide. Готовые примеры таких проектов находятся в папке minigui\Ide\samples

Andrey: gfilatov пишет: Как это нет? А в папке minigui\Ide смотрели? Смотрел я его, глючный он ......

alex_II: отпмсался переход на 56 релиз вызвал ошибку: Error: Unresolved external '_HB_FUN_IIIF' referenced from C:\MINIGUI\HARBOUR\LIB\LIBCT.LIB|numconv Использую уже полтора года (расчет коммунальных платежей) Проблемы: - неоднозначность в поведении программы (писал ранее) - проблемы в передаче фокуса Пожелания: - Хотелось бы управлять фоном объекта Tab, а то некрасиво получается в окне с нестандартным цветом - Решить проблему многократной прорисовки в окне командой DRAW TEXT IN WINDOW А в целом инструмент весьма хорош, большое спасибо всем, кто его развивает

gfilatov: alex_II пишет: Error: Unresolved external '_HB_FUN_IIIF' referenced from C:\MINIGUI\HARBOUR\LIB\LIBCT.LIB|numconv Эта ошибка в библотеке libct Харбора уже исправлена по моей просьбе. Вы можете скачать обновленную сборку Харбора по этой ссылке: Harbour MiniGUI distribution alex_II пишет: - Хотелось бы управлять фоном объекта Tab, а то некрасиво получается в окне с нестандартным цветом Это возможно, если не использовать темы в WinXP (но кто же от них откажется ), а пользоваться классическим интерфейсом, как в Win9x. alex_II пишет: - Решить проблему многократной прорисовки в окне командой DRAW TEXT IN WINDOW Я уже отвечал на этот вопрос здесь http://clipper.borda.ru/?1-1-0-00000143-000-0-0-1218034658 alex_II пишет: большое спасибо всем, кто его развивает Спасибо! Подключайтесь к его развитию тоже - присылайте примеры своих программ и интересные решения для включения в следующую сборку

gfilatov: Andrey пишет: Смотрел я его, глючный он Когда смотрел Программа постоянно развивается, исправленные ошибки можно посмотреть в файле Ide\changelog.txt. Кстати, этот проект является open source, поэтому Вы сами можете посмотреть, что ненормально в коде А свои исправления Вы всегда можете прислать мне для включения в следующую сборку...

valery2: По-моему все !!! А всякие маленькие недочеты - только повод для самосовершенствования. Земной поклон за такую огромную (бескорыстную !!!) работу ! Ну а область применения: - бухгалтерия - логистика (автотранспорт) - фармация и т.д., и т.п.

Andrey: valery2 пишет: Земной поклон за такую огромную (бескорыстную !!!) работу ! Григорий, я тоже присоединяюсь !!! Хотя только начинаю осваивать, но глядя на примеры - просто офигиваешь ... Как много чего есть...

gfilatov: Обновил сборку компилятора Харбор 1.0.1 для BCC 5.5.1 (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=5997

КСС: Доброго всем дня. Очень хотелось бы поблагодарить разработчиков и Григория за очень хорошую OpenSource систему RAD (думаю можно так позиционировать). Но сказать что использую HMG-Ext не могу. Одно время очень загорелся и написал часть программы, но на каком-то этапе устал и разочаровался. Сейчас слежу за новостями, скачиваю новые релизы и пробую их иногда. Не хочу хоть как-то обидеть разработчиков - это бесплатное средство разработки и в этом оно, на мой взляд, лучшее среди аналогичных OpenSource проектов. Clipper в своё время очаровал меня своей стабильностью - как написано в описании, так любая функция и работает - надёжно, как скала. Здесь же ходишь по коду, как по минному полю - никогда нельзя знать наверняка как что сработает или не сработает, хотя должно. Перекомпилируешь в новом релизе - жди проблем, а где и сам не знаешь. Это как Linux - интересно экспериментировать (как и большинство OpenSource проектов), но когда встаёт вопрос обеспечения надёжности и безопасности выбираешь стабильную систему с хорошей поддержкой. Лично я предпочёл бы, чтобы вы (разработчики) создали фирму и сделали из этого коммерческий продукт (для этого совсем чуть-чуть осталось) и я купил бы такой RAD за свои личные деньги, особенно если цена будет достаточно скромной. С уважением, Сергей.

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6002 Что нового: 2008-09-16: version 0.7.1 *Added : property MULTILINE to control BUTTON. Requested by Aula <aula_tiflo@yahoo.es> *Changed: Now IDE works with files saved in diferent paths. Requested by Fernando Claudio Salvador <fernando.salvador@itelefonica.com.br> *Fixed : when abort changing of control name and click OK without change name, system consider as invalid name. Bug was reported by Luciano Marcelo Inбcio <lmi_servidor@yahoo.com.br> *Fixed : save logical properties of form. Contribution by Grigory Filatov <gfilatov@rambler.ru> 2008-09-03: version 0.7.0.1 *Fixed: Bug at moving of radiogroup in a new form. Reported by Ryszard <softmar/at/softmar.poznan.pl> *Fixed: Bug with empty statusitem in statusbar builder. Reported by Jozef Rudnicki <j_rudnicki@wp.pl>

gfilatov: КСС пишет: Перекомпилируешь в новом релизе - жди проблем, а где и сам не знаешь. Да, такое бывает Но ведь без ошибок не может быть развития. Это касается как компилятора Харбор, который постоянно эволюционирует, так и библиотеки MiniGUI, которая постоянно развивается/совершенствуется. КСС пишет: Лично я предпочёл бы, чтобы вы (разработчики) создали фирму и сделали из этого коммерческий продукт Думаю, что это невозможно, поскольку оригинальным автором библиотеки является аргентинец Роберто Лопез (а не я лично), который считает, что эта библиотека всегда будет Freeware. КСС пишет: Это как Linux Спасибо за такое лестное сравнение.

КСС: Привет всем. Обратите внимание как мало людей откликнулось на призыв Григория: Хотелось бы представлять себе, сколько активных пользователей у библиотеки. И с чего бы это он стал спрашивать ?.. Как я уже писал, я давно наблюдаю за проектом MiniGUI, и у меня складывается впечатление, что идёт отток её пользователей. Мне кажется и разработчики это замечают. Все мы, программисты, в основном выбрали эту профессию потому, что она творческая и позволяет себя реализовать. А реализовав что-то хорошее и/или сложное даёт нам возможность гордиться и уважать себя. Нашими гуру, разработчиками проекта HMG-Ext, тоже движет только это, да ещё внутреннее сремление к познанию, ведь денег они не получают и не планируют что-то получить в перспективе. Чтобы проект стал суперизвестным есть только два варианта: его поддержка сильной корпорацией или очень широкое распространение просто потому что он "один из лучших". Первый вариант нам не светит. Мне лично очень нравится этот проект, он лучше иных коммерческих! Вчера опять смотрель Harbour Sources - ну сколько там всего хорошего наработано! Но я боюсь и предчувствую, что он может "лечь на полку" как многие иные хорошие проекты. Просто гуру устанут работать "в пустоту", ведь им нужно признание и широкое распространение их творения. Поэтому я хочу дать скромный совет нашим гуру в лице Григория: приостановить активную разработку проекта, оставив только максимально оперативное исправление выявленных ошибок с целью получить максимально надёжный и стабильный инструмент RAD и срочно (!) заняться созданием максимально полным help-ом к RAD HMG-Ext с подробными описаниями и примерами (как было в NG Clipper). В итоге таким RAD смогут пользоваться не только бывшие clipper-исты, но и новички в программировании, школьники, а мы, со своей стороны, сможем писать хорошие программы и рекомендовать систему всем, а может и обучать кого-то. Таким образом, мы пойдём по второму пути. Желаю всем нам удачи. Сергей.

Петр: КСС пишет: приостановить активную разработку проекта, оставив только максимально оперативное исправление выявленных ошибок А так оно и происходит, присмотритесь внимательнее - никаких новых идей в нескольких подряд выпусках, только исправление старых багов и добавление новых К тому же HMG-Ext очень привязана к официальной версии HMG, а Лопез свое творение по сути несколько лет не развивал.

gfilatov: Петр пишет: только исправление старых багов и добавление новых Спасибо за внимание к моему скромному труду Действительно, в последний билд были внесены небольшие ошибки, которые будут исправлены в новой сборке Петр пишет: HMG-Ext очень привязана к официальной версии HMG А я рассматриваю это скорее как преимущество (в плане совместимости кода). Петр пишет: Лопез свое творение по сути несколько лет не развивал Все верно... Но сейчас он в поте лица готовит новый билд, в котором пообещал представить новые идеи.

Петр: gfilatov пишет: А я рассматриваю это скорее как преимущество Здесь есть свои плюсы и минусы. gfilatov пишет: Но сейчас он в поте лица готовит новый билд, в котором пообещал представить новые идеи. Посмотрим. Время сейчас такое - время перемен Перевернута страница Harbour 1.0, уходит время Borland BCC55. Команде HMG-Ext стоит и над этим задуматься. Как задумался Линарес, правда мне кажется он лукавит - оказывается он для себя открыл новый компилятор MinGW . И оказывается Harbour может с ним работать стабильно Хотя, конечно, старина Антонио мог и ничего не слышать о HMG Victor Sz. предлагает сделать основным win компилятором Harbour msvc 9 MSVS 20008. Я тестировал HMG-Ext 1.55 с bcc 5.8.2 и PellessC 5.0.1 Все работает. В первом случае просто несколько warning нарисовывается. Для адаптации к pocc5 придется немного поправить код. Harbour MT + bcc 5.8.2 однозначно лучше bcc 5.5.1, в ST разница не столь ощутима. PellessC 5.0.1 еще немного сырой - несколько раз вываливался с internal error. Хочу попробовать VC (с MiniGUI конечно).

gfilatov: Петр пишет: Victor Sz. предлагает сделать основным win компилятором Harbour msvc 9 MSVS 20008. Да, я читал это в его сообщениях на форуме разработчиков Харбора. Петр пишет: Я тестировал HMG-Ext 1.55 с bcc 5.8.2 и PellessC 5.0.1 Я тоже Не понравилось отсутствие поддержки платформы Win9x для развертывания этих компиляторов. А мне приходится больше сидеть под Win98SE Петр пишет: Для адаптации к pocc5 придется немного поправить код. У меня есть рабочий вариант HMG-Ext для компиляции под PellessC 4.50, который еще дружит с Win9x. Петр пишет: Harbour MT + bcc 5.8.2 однозначно лучше bcc 5.5.1 Сейчас я тестирую работу Харбора в MT сборке с менеджером памяти DL_ALLOC: полет нормальный

valery2: КСС пишет: Обратите внимание как мало людей откликнулось на призыв Григория А может еще провести опрос у финов ?: http://www.the-holms.org/xharbour/compiler.htm сайт на английском.

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6012 Что нового: - исправлена обработка HSCROLLBAR/VSCROLLBAR в элементах управления EDITBOX и RICHEDITBOX

gfilatov: Снова обновил IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6015 Что нового: - исправлена ошибка, возникавшая при открытии на редактирование нового модуля (внесена автором в версии 0.7.1)

Петр: А я ошибку нашел в MPMC, логическую WinFolder := WinFolder + If ( Right ( WinFolder , 1 ) != '\' , '\' , '' ) EnvironmentFile := MemoRead ( WinFolder + 'mpm.ini' ) If Empty ( EnvironmentFile ) SaveEnvironment ( WinFolder ) EndIf ---------> забыли наново загрузить файл For i := 1 To MLCount ( EnvironmentFile )

gfilatov: Петр пишет: я ошибку нашел в MPMC Спасибо! По-видимому, д.б. так ... WinFolder += If ( Right ( WinFolder , 1 ) != '\' , '\' , '' ) EnvironmentFile := MemoRead ( WinFolder + 'mpm.ini' ) If Empty ( EnvironmentFile ) SaveEnvironment ( WinFolder ) EnvironmentFile := MemoRead ( WinFolder + 'mpm.ini' ) EndIf For i := 1 To MLCount ( EnvironmentFile ) ...

Петр: gfilatov пишет: Спасибо! По-видимому, д.б. так Угу. И еще надо было ж додуматься проводить, чуть ли не в каждой строке проверки на вхождение "\" ! Вместо того. чтобы сделать это раз и в одном месте. А вообще для себя я решил переписать эту утилиту - вещь довольно полезная, когда самому не хочется писать make файлы. Вот части кода FUNCTION SaveWorkSpace( cFile ) LOCAL hIni := {=>}, lResult := FALSE // hIni[ "MAIN" ] := {=>} hIni[ "MAIN" ][ "BCCFOLDER" ] := "F:\BORLAND\BCC55" hIni[ "MAIN" ][ "MINIGUIFOLDER" ] := "C:\MINIGUI" hIni[ "MAIN" ][ "HARBOURFOLDER" ] := "C:\MINIGUI\HARBOUR" hIni[ "MAIN" ][ "PROGRAMEDITOR" ] := "NOTEPAD.EXE" hIni[ "DEBUG" ] := {=>} hIni[ "DEBUG" ][ "DEBUGACTIVE" ] := iif( lDebugActive, "YES", "NO" ) hIni[ "COMPILERS" ] := {=>} hIni[ "COMPILERS" ][ "CC_SUPORTED" ] := "bcc|dmc|msvc|owatcom|pocc" hIni[ "COMPILERS" ][ "HB_SUPORTED" ] := "harbour|xharbour" hIni[ "BCC" ] := {=>} hIni[ "DMC" ] := {=>} hIni[ "MSVC" ] := {=>} hIni[ "OWATCOM" ] := {=>} hIni[ "POCC" ] := {=>} ... IF hb_IniWrite( cFile, hIni, "#Generated file; don't touch", "#end of " + cFile ) lResult := TRUE ENDIF // RETURN lResult FUNCTION CheckParam( aParams ) LOCAL nLen := Len( aParams ), nIndex, nBadIndex LOCAL cValidParam := "-? -C -D -H -L /? /C /D /H /L" LOCAL cRealParam := "", cTemp LOCAL lResult := FALSE PUBLIC lDebugActive := FALSE, lCleanActive := FALSE, lShowHelp := FALSE PUBLIC lShowLogo := TRUE // IF nLen == 0 .OR. nLen > MAX_PARAM ShowUsage() ELSEIF nLen == 1 lResult := TRUE SWITCH Upper( aParams[1] ) CASE "-?" CASE "/?" CASE "-H" CASE "/H" lShowHelp := TRUE EXIT ENDSWITCH ELSE FOR nIndex := 2 TO nLen cTemp := UPPER( aParams[nIndex] ) lResult := ( cTemp $ cValidParam ) IF lResult cRealParam += cTemp ELSE nBadIndex := nIndex EXIT ENDIF NEXT IF (lResult) IF "-D" $ cRealParam lDebugActive := TRUE ELSEIF "/D" $ cRealParam lDebugActive := TRUE ENDIF ..

Петр: Т.е. поддержка нескольких компиляторов, в идеале всех для которых реализована поддержка Harbour + MiniGUI. Отказ от жестко зашитых алгоритмов, все данные должны находиться в ini файле - хочу использовать семейство hb_Ini* функций. Еще какие фичи - - возможность использования не только глобального mpm.ini, но и локальных конфигурационных файлов - возможность указания в командной строке параметров в произвольном порядке, например mpmc -c myprog1.mpm -ulocalini.mpm myprog2.mpm /D /tbcc - обязательная проверка файла проекта на целосность (имеется ввиду все ли файлы, папки существуют.), странно, что этого не сделали раньше; - работа сразу с несколькими проектами; - возможность включения в проект не только .prg но и .c файлов. - может еще что-то полезного вспомню - придумаю + к этому конвертер для переноса файлов из старого формата проекта в новый.

gfilatov: Петр пишет: чуть ли не в каждой строке проверки на вхождение "\" ! Вместо того. чтобы сделать это раз и в одном месте. Так было сделано автором утилиты еще в 2003 году Петр пишет: я решил переписать эту утилиту Если у Вас будет желание, пришлите мне финальный вариант для включения в расширенный релиз библиотеки. Сам я практически не использую консольный вариант, поскольку есть графический MPM, переписанный практически с нуля Кевином Кармоди

Andrey_IV: Скачал версию : Harbour MiniGUI 1.5 Extended Edition (Build 56) - 2008.09.09 При установке антивирус Avast! версия 4.8 Home Edition VPS 080925-0, 25.09.2008 выдает сообщение о трояне C:\MiniGUI\SAMPLES\Applications\FREE_MEMORY\Memory.exe Троян: Win32:Oliga [Trj] Так вопрос: это глюк антивируса или на самом деле там троян сидит ? у кого-нибудь что-то похожее было ? EXE-шник я , конечно, удалил и перекомпилировал пример заново но все-таки любопытно

gfilatov: Andrey_IV пишет: выдает сообщение о трояне C:\MiniGUI\SAMPLES\Applications\FREE_MEMORY\Memory.exe Нет там никакого трояна! Проверено DrWeb и антивирусом Касперского, которым я доверяю

gustow: к вопросу о "пользующихся" компилятором/библиотекой (извиняюсь, не мог отозваться раньше): Сам пользуюсь все более активно (в конторе достаточно старых задачек, которые намного проще "чуть подлудить", переводя с Клиппера на Харбор, а в некоторых случаях, оставив "математику", прилепить ГУИ - чем делать с ноля на чем-то "вижуалистом") - и наши "тетки" все более завистливо поглядывают в мою сторону :) Также нашим сидящим в области в больницах программерам "показал пальцем" на это дело (а у многих тоже достаточно самописных "приблуд", связанных с возней с ДБФками и писаных на Фокспре-Клиппере, которые тоже неохота "с ноля" перерисовывать) - и человек 8-10 (как минимум) сказали "Опа! Интересно, интересно... тээкс... пошел разбираться - это практически то, что мне и надо" :) В школе у дочки (как-то писал про их "информатичку") эта "информатичка" тоже звонила про то, что "разбирается" и "вот если б еще русскую доку..." - а так тоже была сильно порадована количеству и разноообразию примеров, да и простоте (если не сказать - изяществу) решения многих вопросов (особо впечатлил "практически Total Commander с величиной исходника в 60 кбайт!.." - FileMan Григория). Так что "совращение" идет :)

Sergey Spirin: Здравствуйте, Григорий, Такой вопрос, создается окно в IDE: Function Main Load Window Test Center Window Test Activate Window Test Return Function MyTest() MsgBox(Str(Test:Width)) Return 1 На вызов MyTest() выдает: Variable does not exist: TEST Собственно, а как обращаться то к окну? И второе, как получить его Handle? Спасибо. Спирин Сергей.

gfilatov: Sergey Spirin пишет: а как обращаться то к окну? Sergey Spirin В библиотеке MiniGUI принята VB-подобная нотация (для разделения объектов используется точка): Test.Width Sergey Spirin пишет: как получить его Handle? Надо воспользоваться такой функцией: GetFormHandle ('Test')

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=6019 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-57-setup.zip Что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс PALETTE в команде DEFINE WINDOW; - поправлен Си-код для успешной сборки библиотеки под бесплатными компиляторами BCC 5.82 и Pelles C 4.50 - синхронизация с изменениями в официальной версии HMG выпусков 2.6.5-2.6.6; - исправления в библиотеке PropertySheet; - обновлены сборки Харбора (до версии 1.0.1 final) и HMGS-IDE; - новые и обновленные старые примеры (как обычно ). Большое спасибо всем откликнувшимся на мой призыв! Желаю удачи в программировании!

Sergey Spirin: gfilatov пишет: Надо воспользоваться такой функцией: GetFormHandle ('Test') Ok. Спасибо. Следующий вопрос, похоже окна в MiniGUI в разных ситуациях перехватывают нажатия Enter и Escape, и потом уже решают, что с ними делать, можно ли регулировать эту ситуацию? Объясню, что я делаю. Я сел, наконец, за давнишний свой "должок" в Фасте - множественный предпросмотр. В том числе, рассматриваю возможность встраиваемого предпросмотра в юзерское окно. С консольным приложением это проблематично из-за специфики консоли, решил делать только для GUI. Для тестов и дальнейшей демки выбор пал, конечно, на MiniGUI Встраивая предпросмотр, подумал, почему бы не встроить, например, Grid, да и другое, уже не в контексте Фата. Просто, можно сделать хорошие компоненты для MiniGIU . Сделал набросок для грида: http://www.paritetsoft.ru/downloads/TMP_PICT/GRID.zip Это тест, в начале нажать - File-Open. Лучше смотреть на Win2000 и выше. Проблема пока только с "непонятным" поведением Enter-Escape. Такая вот идея, в принципе можно ее реализовать.

Sergey Spirin: Sergey Spirin пишет: Проблема пока только с "непонятным" поведением Enter-Escape Проверил с просто окнами. При немодальном окне та же проблема. Enter-Escape окно не получает, вся остальная клавиатура и мышка без проблем. Проблемы нет только в модальном режиме, но это и понятно, в модальности вся диспетчеризация производится только дельфийским кодом... Григорий, есть ли какие-то мысли по этому поводу?

Sergey Spirin: Сделал то же самое под Xailer. Enter-Escape работают.... Очевидно, что где-то в коде MiniGUI мессаги глушатся.

Sergey Spirin: Sergey Spirin пишет: Очевидно, что где-то в коде MiniGUI мессаги глушатся. Пришлось немного поизучать исходники MiniGUI. Собственно, мест, связанных с диспетчеризацией сообщений, как и следовало ожидать, немного. Но именно в них и кроется причина столь несовместимого со стандартом WinAPI поведения. Модуль c_windows.c: [pre2] if( !IsWindow(GetActiveWindow()) || !IsDialogMessage(GetActiveWindow(), &Msg) ) { TranslateMessage( &Msg ); DispatchMessage( &Msg ); } [/pre2] ??? Это относится, естественно, к условию под if: if( !IsWindow(GetActiveWindow()) || !IsDialogMessage(GetActiveWindow(), &Msg) ) Во-первых, левая часть - это, практически, гарантированный False. Как может быть handle "просроченным", если он получен здесь и сейчас? В этом можно убедиться, если отбросить правую часть. Любой пример придется снимать диспетчером задач. Фактически, все идет через правую часть, где и содержится "засада". В большинстве случаев IsDialogMessage просто вернет False и мы уходим на диспетчеризацию. Вообще говоря IsDialogMessage используется ТОЛЬКО для WinAPI-диалогов FileOpen, FileClose и т.п. Но в MSDN упомянуто, что может работать и с обычными окнами, в этом и засада. Дочерние окна эта функция начинает воспринимать как "свой" диалог, а для диалога Enter-Escape это и есть DialogMessages Производится "особенная" обработка с посылкой DM_GETDEFID and DM_SETDEFID messages и т.д. Резюм. Все это условие (if( !IsWindow(GetActiveWindow()) || !IsDialogMessage(GetActiveWindow(), &Msg) ) ) необходимо выкидывать. Левое безболезненно. Правое, практически, тоже, но: IsDialogMessage надо бы использовать, но ТОЛЬКО в случае, если активное окно РЕАЛЬНО является WinApi-диалогом. Так, например, делается в Delphi (эти диалоги "пасутся" объектом Application). Григорий, жду от вас какой-то реакции, да и вообще, хотелось бы об этом поговорить с Вами поподробнее.

gfilatov: Sergey Spirin пишет: Все это условие (if( !IsWindow(GetActiveWindow()) || !IsDialogMessage(GetActiveWindow(), &Msg) ) ) необходимо выкидывать. Т.е. записать так: HB_FUNC( _DOMESSAGELOOP ) { MSG Msg; while( GetMessage(&Msg, NULL, 0, 0) ) { TranslateMessage( &Msg ); DispatchMessage( &Msg ); } return; } Sergey Spirin пишет: IsDialogMessage надо бы использовать, но ТОЛЬКО в случае, если активное окно РЕАЛЬНО является WinApi-диалогом Как именно это можно сделать - т.е. определить, что активное окно РЕАЛЬНО является WinApi-диалогом? Каково Ваше предложение применительно к MiniGUI? Sergey Spirin пишет: хотелось бы об этом поговорить с Вами поподробнее Мой почтовый адрес Вам известен

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=6025 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-57a-setup.zip Что нового: - исправление ошибок, связанных с изменениями в псевдо-ООП коде, которые были внесены в 57-й сборке. Жду Ваших замечаний

Sergey Spirin: gfilatov пишет: Т.е. записать так: цитата: HB_FUNC( _DOMESSAGELOOP ) { MSG Msg; while( GetMessage(&Msg, NULL, 0, 0) ) { TranslateMessage( &Msg ); DispatchMessage( &Msg ); } return; } Да. Думаю, что с вероятностью 99,9999% это ничем не грозит. Оставшаяся доля - это оставшееся на диалоги. WinApi - диалоги - это диалоги созданные функциями типа CreateDialog(), CreateDialogIndirect() и т.п. По большому счету эти функции остались для совместимоcти еще со времен Win 2.00-3.11. Сегодня мало кто будет разрабатывать форму в редакторе ресурсов, а именно этого эти фунуции требуют. Традиционно FileOpen, FileSave - диалоги такого типа, но они модальные, то есть проблемы здесь нет. Единственная проблемка - это создание пользовательского немодального диалога с юзерскими кнопками. MiniGUI позволяет создавать эти диалоги (c_dialog.c и h_dialog.prg). На prg уровне функция _DefineDialog(). Однако, естественно, нигде более это не используется вообще. Ни в исходниках, ни в примерах. Определить "в лоб" что это диалог такого типа увы нельзя. Дельфи, например для этого использует такой прием: [pre2] function TApplication.IsDlgMsg(var Msg: TMsg): Boolean; begin Result := False; if FDialogHandle <> 0 then Result := IsDialogMessage(FDialogHandle, Msg); end; [/pre2] Установка же значения FDialogHandle производится в хуке этого диалога: [pre2]function FindReplaceWndProc(Wnd: HWND; Msg, WParam, LParam: Longint): Longint; stdcall; function CallDefWndProc: Longint; begin Result := CallWindowProc(Pointer(GetProp(Wnd, MakeIntAtom(WndProcPtrAtom))), Wnd, Msg, WParam, LParam); end; begin case Msg of WM_DESTROY: if Application.DialogHandle = Wnd then Application.DialogHandle := 0; WM_NCACTIVATE: if WParam <> 0 then begin if Application.DialogHandle = 0 then Application.DialogHandle := Wnd; end else begin if Application.DialogHandle = Wnd then Application.DialogHandle := 0; end; WM_NCDESTROY: begin Result := CallDefWndProc; RemoveProp(Wnd, MakeIntAtom(WndProcPtrAtom)); Exit; end; end; Result := CallDefWndProc; end;[/pre2] Я вот думаю, стоит ли "заморачиваться" и делать что-то аналогичноe, или просто "забить", так как по-большому счету не нужно.... Аналог хука у вас - это DialogProc() вызываемый из HMG_DlgProc() gfilatov пишет: Мой почтовый адрес Вам известен Ok. Про "компонентyю" идею напишу мылом.

Петр: gfilatov пишет: Сам я практически не использую консольный вариант, поскольку есть графический MPM, переписанный практически с нуля Кевином Кармоди mpmbuild C-версия [pre2]#include <windows.h> #if !defined( INVALID_FILE_ATTRIBUTES ) #define INVALID_FILE_ATTRIBUTES ( ( DWORD ) -1 ) #endif #if !defined( FILE_ATTRIBUTE_DEVICE ) #define FILE_ATTRIBUTE_DEVICE 0x00000040 #endif char * _getenv( const char * ); char * xstrcpy( char *, const char *, ... ); BOOL fsFileExists( const char * ); BOOL strEmpty( const char *, DWORD ); int WaitRun( char *, WORD ); #define MPMB_NOLOCFILE -101 #define MPMB_NOLOCREAD -102 #define MPMB_NOBUILDFILE -103 int PASCAL WinMain( HINSTANCE inst, HINSTANCE previnst, LPSTR cmdline, int cmdshow ) { DWORD dwResult; char * szTmpFolder = _getenv( (const char*) "TEMP" ); char * szLocFile; HANDLE handle; DWORD dwSize, dwNumberOfBytesRead; char cBuildFile[MAX_PATH] = {0}; szLocFile = xstrcpy( NULL, szTmpFolder, (const char*) "\\", (const char*) "_MpmBuild.txt", NULL ); if( !fsFileExists( szLocFile ) ) { dwResult = MPMB_NOLOCFILE; goto end; } handle = CreateFile( szLocFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, (DWORD) NULL, NULL ); if ( handle == 0 ) { dwResult = MPMB_NOLOCREAD; goto end; } dwSize = GetFileSize( handle, NULL ); if ( dwSize == 0xFFFFFFFF ) { dwResult = MPMB_NOLOCREAD; CloseHandle( handle ); goto end; } ReadFile( handle, cBuildFile, ( dwSize <= MAX_PATH ) ? dwSize : MAX_PATH, &dwNumberOfBytesRead, NULL ); CloseHandle( handle ); if ( strEmpty( cBuildFile, dwNumberOfBytesRead ) ) { dwResult = MPMB_NOLOCREAD; goto end; } if( !fsFileExists( cBuildFile ) ) { dwResult = MPMB_NOBUILDFILE; goto end; } DeleteFile( szLocFile ); dwResult = WaitRun( cBuildFile, 0 ); end: if ( szTmpFolder ) free( (void *) szTmpFolder ); if ( szLocFile ) free( (void *) szLocFile ); return dwResult; } /* */ char * _getenv( const char * pszName ) { DWORD size = GetEnvironmentVariableA( pszName, NULL, 0 ); char * pszBuffer = NULL; if( size != 0 ) { pszBuffer = (char *) malloc( size ); GetEnvironmentVariableA( pszName, pszBuffer, size ); } return pszBuffer; } /* */ BOOL fsFileExists( const char * szFileName ) { DWORD dwAttr; BOOL bExist; dwAttr = GetFileAttributesA( szFileName ); bExist = ( dwAttr != INVALID_FILE_ATTRIBUTES ) && ( dwAttr & ( FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_DEVICE ) ) == 0; return bExist; } /* */ BOOL strEmpty( const char * szText, ULONG ulLen ) { while( ulLen-- ) { char c = szText[ ulLen ]; if( !isspace(c) ) return FALSE; } return TRUE; } /* */ char * xstrcpy( char * szDest, const char * szSrc, ... ) { char * szResult; va_list va; if( szDest == NULL ) { const char * szSrcPtr = szSrc; ULONG ulSize = 1; va_start( va, szSrc ); while( szSrcPtr ) { ulSize += strlen( szSrcPtr ); szSrcPtr = va_arg( va, char * ); } va_end( va ); szDest = ( char * ) malloc ( ulSize ); } szResult = szDest; va_start( va, szSrc ); while( szSrc ) { while( *szSrc ) *szDest++ = *szSrc++; szSrc = va_arg( va, char * ); } *szDest = '\0'; va_end( va ); return szResult; } /* */ int WaitRun( char * cFile, WORD wShow ) { DWORD dwExitCode; STARTUPINFO stInfo = {0}; PROCESS_INFORMATION prInfo; BOOL bResult; stInfo.cb = sizeof( stInfo ); stInfo.dwFlags = STARTF_USESHOWWINDOW; stInfo.wShowWindow = wShow; bResult = CreateProcess( NULL, cFile, NULL, NULL, TRUE, CREATE_NEW_CONSOLE | NORMAL_PRIORITY_CLASS, NULL, NULL, &stInfo, &prInfo ); if( !bResult ) return (DWORD) -1L; WaitForSingleObject( prInfo.hProcess, INFINITE ); GetExitCodeProcess( prInfo.hProcess, &dwExitCode ); CloseHandle( prInfo.hThread ); CloseHandle( prInfo.hProcess ); return dwExitCode; } [/pre2]

Петр: Компилируем bcc32 -5 -6 -G -tW -tWR -q -w-8057 mpmbuild.c -laa -lGn -lTpe -q -lx Размер бинарника [pre2] при использовании bcc32 (5.5.1) 8192 bytes при использовании msvc (13.10.3077) 5120 bytes оригинальная версия bcc32 (5.5.1) 993 Kb [/pre2]

alex_II: Начиная с 57 релиза строка перестала возвращать число: topBr := Form_main.ToolBar_main.Row или topBr := GetProperty(Form_main,ToolBar_main,Row)

gfilatov: alex_II пишет: Начиная с 57 релиза строка перестала возвращать число: topBr := Form_main.ToolBar_main.Row Не вижу в этом проблемы, поскольку ToolBar не имеет свойства Row по определению

gfilatov: Петр пишет: mpmbuild C-версия Большое спасибо - эта версия работает нормально! Петр пишет: Размер бинарника при использовании bcc32 (5.5.1) 8192 bytes при использовании msvc (13.10.3077) 5120 bytes оригинальная версия bcc32 (5.5.1) 993 Kb К сожалению, не все клипперисты владеют языком Си...

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=6034 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-57b-setup.zip Что нового: - исправление ошибок, связанных с изменениями в псевдо-ООП коде, которые были внесены в 57-й сборке. - обновлен HMGS-IDE до версии 0.7.2

gfilatov: alex_II пишет: Начиная с 57 релиза строка перестала возвращать число: topBr := Form_main.ToolBar_main.Row Поскольку такое изменение вызывает проблемы с правкой исходников не только у Вас, я добавлю обработку этой ситуации в новой сборке (эта строка будет всегда возвращать 0).

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=6060 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-57c-setup.zip Что нового: - исправление ошибок, связанных с изменениями в работе с объектами-контейнерами, которые были внесены в 57-й сборке - добавил mpmbuild.c код, разработанный Петром Черным, которому я весьма признателен за это.

Петр: gfilatov пишет: добавил mpmbuild.c код Спасибо, Григорий. Я думаю, Кевин Кармоди не обидится, если я чуть-чуть доработаю и mpm ?

gfilatov: Петр пишет: Кевин Кармоди не обидится, если я чуть-чуть доработаю и mpm ? Нет, конечно!

gfilatov: Снова обновил 57-й релиз библиотеки и выложил его по адресу: http://minigui.mylivepage.ru/file/?fileid=6083 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-57d-setup.zip Что нового: - исправление препроцессорных директив для работы с SplitBox, которые были внесены в 57-й сборке - обновил сборку Харбора финальной версии 1.0.1 Надеюсь, что больше не будет исправлений в этой версии

gfilatov: Снова обновил 57-й релиз библиотеки и выложил его по адресу: http://minigui.mylivepage.ru/file/?fileid=6088 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-57e-setup.zip Что нового: - исправление небольшой опечатки, которая была внесена в 57d-й сборке - обновил сборку Харбора до свежей версии 1.1.0

gfilatov: Обновил сборку компилятора Харбор 1.1.0 для BCC 5.5.1 (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=6090 Harbour Build Info --------------------------- Version: Harbour 1.1.0dev (Rev. 9633) PCode version: 0.2 Compiler: Borland C++ 5.5.1 (32 bit) Built on: Oct 14 2008 16:02:34 Last ChangeLog entry: 2008-10-14 11:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) ChangeLog SVN version: ChangeLog 9633 2008-10-14 09:51:37Z druzus Extra C compiler switches: -DHB_FM_STATISTICS_OFF -DHB_GUI -DHB_FM_STD_ALLOC Other build settings: (C mode) Clipper 5.3b compatible extensions: yes Clipper 5.2e/5.3b compatible undocumented: yes Clipper 5.2e/5.3b strict compatibility: no Xbase++ compatible extensions: yes FlagShip compatible extensions: yes Visual Objects compatible extensions: no FoxPro compatible extensions: no dBase compatible extensions: no CLIP compatible extensions: no Non-portable Harbour extensions: yes Profiler: off Memory tracing and statistics: off Maximum symbol name length: 63

Dimka: иногда программа вываливается вот с такой ошибкой Date: 15/10/08 Time: 13:11:39 Error BASE/1003 Variable does not exist: _HMG_131190_DYNAMICBACKCOLOR Called from __MVGET(0) Called from EVENTS(2256) Called from SENDMESSAGE(0) Called from INITDIALOGGRID(376) Called from _DEFINEGRID(343) Called from SOSTIZD(1216) Called from (b)POIUZL(752) Called from _DOCONTROLEVENTPROCEDURE(1552) Called from EVENTS(1337) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(1273) Called from POIUZL(1007) * <- вызов моей функции, что-то там с гридом))) ...

gfilatov: Обновил сборку компилятора Харбор 1.1.0 для BCC 5.5.1 (Harbour MiniGUI Extended Distribution) по адресу: http://minigui.mylivepage.ru/file/?fileid=6097 Harbour Build Info --------------------------- Version: Harbour 1.1.0dev (Rev. 9699) PCode version: 0.2 Compiler: Borland C++ 5.5.1 (32 bit) Built on: Oct 21 2008 11:32:41 Last ChangeLog entry: 2008-10-21 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu) ChangeLog SVN version: ChangeLog 9699 2008-10-21 07:35:52Z vszakats Extra C compiler switches: -DHB_FM_STATISTICS_OFF -DHB_GUI -DHB_FM_STD_ALLOC Other build settings: (C mode) Clipper 5.3b compatible extensions: yes Clipper 5.2e/5.3b compatible undocumented: yes Clipper 5.2e/5.3b strict compatibility: no Xbase++ compatible extensions: yes FlagShip compatible extensions: yes Visual Objects compatible extensions: no FoxPro compatible extensions: no dBase compatible extensions: no CLIP compatible extensions: no Non-portable Harbour extensions: yes Profiler: off Memory tracing and statistics: off Maximum symbol name length: 63

alex_II: Григорий! Помоги, назрела необходимость изменить программу, написанную еще почти год назад на 46 релизе и Adaptation V.1.63 TsBrowse in HMG. Переделал на релизе 57e (Adaptation V.1.69 TsBrowse in HMG) и теперь при запуске выдает ошибку: Error BASE/1004 Message not found: TSBROWSE:SETDBF Called from __ERRRT_SBASE(0) Called from TSBROWSE:ERROR(0) Called from (b)HBOBJECT(0) Called from TSBROWSE:MSGNOTFOUND(0) Called from TSBROWSE:SETDBF(0) Called from OPENSUB(555) Called from (b)FINDSUB(499) Called from _DOCONTROLEVENTPROCEDURE(1559) Called from EVENTS(1407) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(1280) Called from FINDSUB(522) Called from (b)MAIN(90) Called from _PROCESSINITPROCEDURE(1405) Called from _ACTIVATEWINDOW(1263) Called from MAIN(346) Посмотрел исходники - метод SetDbf() закоментирован Хотя в документации присутствует, какова его дальнейшая судьба? Может в следующей версии он вернется?

gfilatov: alex_II пишет: Посмотрел исходники - метод SetDbf() закоментирован Этот метод не несет никакой полезной нагрузки в MiniGUI, поскольку в оригинальной библиотеке он ссылается на объект базы данных oDBF, аналога которому не существует в MiniGUI. Вывод: просто уберите или закомментируйте вызов этого метода в своей программе

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6098 Что нового: - добавлена поддержка пользовательских компонентов (UCI) - исправлены обнаруженные ошибки (как обычно )

alex_II: gfilatov пишет: Этот метод не несет никакой полезной нагрузки в MiniGUI польза была - я мог во время выполнения программы переключиться с массива на файл, теперь этой возможности у меня нет

gfilatov: alex_II пишет: я мог во время выполнения программы переключиться с массива на файл Понял, тогда просто раскомментируйте этот метод в файле h_tbrowse.prg alex_II пишет: в следующей версии он вернется? Если он действительно нужен, то я не вижу проблем с его возвращением

gfilatov: Обновил снова IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6101 Внесены следующие исправления в оригинальный код автора: - исправлена ошибка при загрузке форм, которая приводила к игнорированию ToolBar, StatusBar и др.; - исправлена опечатка в индексах элементов массива при построении Notify и Context меню; - исправлено сохранение страниц у Tab, которые не имеют картинок (чтобы не было в описании страниц IMAGE "")

gfilatov: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Подготовлена к опубликованию новая сборка №58, которая выйдет завтра. Что нового: - добавлено новое свойство Action для элементов управления Button,Label,Timer с возможностью его чтения и записи; - новая библиотека для работы с MySql по типу AdoRdd, но с возможностью индексировать базу; - добавлена возможность выравнивания первого столбца в Browse/Grid; - обновлена библиотека Sqlite3 до версии 3.6.4; - небольшие правки в библиотеке TsBrowse, связанные со скрытием столбцов; - обновлены сборки Харбора (до версии 1.1.0) и HMGS-IDE (до версии 0.7.4); - новые и обновленные старые примеры (как обычно ), особенно отмечу обновление примера ControlPos до версии 3.20. Спасибо за внимание!

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=6153 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-58-setup.zip Желаю всем удачной выкачки!

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6167 Что нового: - добавлена поддержка последних открытых проектов (MRU) - исправлены обнаруженные ошибки (как обычно )

Vlad04: Восхищен!! Качество МиниГуи заметно растет. Григорий. Я хотел бы добавить свою программку, построенную с использованием IDE в сборник примеров МиниГуи.Куда выслать?

gfilatov: Vlad04 пишет: Я хотел бы добавить свою программку, построенную с использованием IDE в сборник примеров МиниГуи.Куда выслать? Мой адрес не изменился: gfilatov[собака]rambler[точка]ru

gfilatov: Новый релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=6203 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.5-59-setup.zip Что нового: - новый режим AutoAdjust: элементы управления растягиваются при изменении размера формы, чтобы равномерно ее заполнить - исправление небольшой неточности при инициализации DatePicker/TimePicker и использовании класса Field - обновление Харбора и HMGS-Ide - новые примеры и, как обычно, обновление/корректировка старых примеров Желаю всем удачной выкачки!

i3t4j6: gfilatov пишет: новый режим AutoAdjust: элементы управления растягиваются ... Попробовал этот режим для TsBrowse - выскакивает ошибка ( по-моему связаная с _HMG_aControlFontSize ) !!!???

gfilatov: i3t4j6 пишет: Попробовал этот режим для TsBrowse - выскакивает ошибка Надо сделать небольшое изменение в процедуре _AutoAdjust(): ... FOR k:=1 TO ControlCount ControlName := _HMG_aControlNames [k] if _IsControlDefined ( ControlName, ParentForm ) ControlType := _HMG_aControlType [k] if !empty(ControlName) .and. !(ControlType $ "MENU,HOTKEY,TOOLBAR,MESSAGEBAR,ITEMMESSAGE,TIMER") if ControlType == 'RADIOGROUP' _HMG_aControlSpacing [k] := _HMG_aControlSpacing [k] * iif(_HMG_aControlMiscData1 [k], nDivw, nDivh) endif _SetControlSizePos ( ControlName, ParentForm, ; _GetControlRow ( ControlName, ParentForm ) * nDivh, _GetControlCol ( ControlName, ParentForm ) * nDivw, ; _GetControlWidth ( ControlName, ParentForm ) * nDivw, _GetControlHeight ( ControlName, ParentForm ) * nDivh ) if ControlType == 'TBROWSE' oBrw := _HMG_aControlIds [k] oBrw:UpStable() elseif ControlType <> 'SLIDER' _SetFontSize ( ControlName, ParentForm , _HMG_aControlFontSize [k] * nDivh ) endif endif endif NEXT ...

gustow: Григорий, я потихоньку перевожу MiniGUI.CHM (параллельно тестируя на "чайнике"-дочке :) ). Получается, правда, слегка в стиле "for idiots" (известная черно-желтая серия "...для чайников") - но, по-моему, для многих желающих начать миграцию Clipper->Harbour+MiniGUI (и не особо возившихся до того с "вижуалами") именно такой несколько "облегченный" подход и нужен (по крайней мере, в первом разделе - с примерами; а уже в описаниях конкретных команд/функций можно писать более "строго"). Подослать на указанный выше gfilatov[собака]rambler[точка]ru ? (пытался как-то на указанный в документации freemail - видимо, не доходило или что...) Или положить куда-то для общего просмотра? Конечно, я не "гуру перевода" (и весьма) - но... хотя бы что-то P.S. Ранее перевел CHM по TBrowse и выложил (как пачку HTML) - интересно, кому-нибудь помогло?..

gfilatov: gustow пишет: Подослать на указанный выше gfilatov[собака]rambler[точка]ru ? Да, будет интересно познакомиться...

leo: gustow пишет: цитата: Подослать на указанный выше gfilatov[собака]rambler[точка]ru ? (пытался как-то на указанный в документации freemail - видимо, не доходило или что...) Или положить куда-то для общего просмотра? Уверен, что это будет интересно не только Григорию, поэтому лучше выложить для общего просмотра.

gustow: Положил (содержание + вступительные главки + несколько примеров) сюда: http://gustow.narod.ru/harbour/MiniGUI_help/welcome.htm Если что - можно писать на gustow33 [bobik] mail.ru

gfilatov: gustow пишет: Положил (содержание + вступительные главки + несколько примеров) Весьма интересно! А как насчет продолжения? Замечание по ходу: a semi-oop model лучше переводить как псевдо-ООП модель

Сергей Р: Григорий, раньше работал с версией MiniGUI 1.1 Experimental (Build 15b) и такая конструкция: v_get[nnnn]:=Win_ProcSayGet.&name.Value работала замечательно. Теперь скачал последнюю версию MiniGUI и очень огорчился. Что делать, где, что менять?

gfilatov: Сергей Р пишет: раньше работал с версией MiniGUI 1.1 П.Черпаком были внесены изменения в макрокомпилятор Харбора, которые привели к неработоспособности Вашего старого кода. Сергей Р пишет: Что делать, где, что менять? Записать это выражение таким образом: v_get[nnnn]:=Win_ProcSayGet.&(name).Value

gfilatov: Обновил с учетом последних изменений IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=6207 Что нового: - добавлена поддержка Virtual Dimensioned окон ; - исправлены обнаруженные ошибки (как обычно ) На мой взгляд, IDE становится лучше с каждой версией!

Сергей Р: Спасибо, Григорий. Помогло, только вот переделывать до черта. P.S. Передай П.Черпаку, чтобы больше не безобразничал.

gustow: Григорий, спасибо за оценку начала. "Весьма интересно" - это для меня сигнал и стимул к продолжению (значит, не зря). По общему виду, терминологии, навигации вопросы-предложения-замечания есть? А по "легковатости" и местами "дурашливости" стиля претензий нет? Тогда продолжу (буду постепенно добавлять в то же место). Жду комментов и от остального сообщества.

Сергей Р: gustow пишет: Жду комментов и от остального сообщества Молодец, очень полезное дело.

gustow: Сергей Р, спасибо. Понял, что не только мне это надо :)

PSP: Где можно взять sources для Harbour 1.1.0dev (Rev. 9921) или более позднего? На sourceforge.net лежат исходники на релиз 1.0.1

Dima: gustow пишет: Жду комментов и от остального сообщества Продолжай , полезное дело делаешь ! Спасибо

Петр: PSP пишет: Где можно взять sources для Harbour 1.1.0dev (Rev. 9921) или более позднего? На sourceforge.net лежат исходники на релиз 1.0.1 www.harbour-project.org - Nightly source, совсем свежее прямая ссылка

PSP: Петр пишет: Nightly source, совсем свежее А слона-то я и не заметил... Спасибо! :)



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