On-line: Мирослав, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
gfilatov
модератор




Пост N: 699
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)


Начало темы находится здесь, а теперь

АНОНС * АНОНС * АНОНС * АНОНС * АНОНС

Готовится к опубликованию новая сборка №48, которая выйдет в конце недели.
Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне

Кратко, что нового:

- исправление обнаруженных ошибок и неточностей кода;
- новый класс HEADERIMAGE для Grid и Browse;
- свойство Address в Hyperlink может теперь открывать папку или файл на диске;
- добавлен NOTABSTOP класс для Browse;
- поддержка пользовательских компонентов (заимствована из оффициального релиза);
- расширения и исправления в библиотеках TsBrowse и PropGrid;
- обновлены сборки Харбор и HMGS-IDE;
- новые и обновленные старые примеры (как обычно ).




Спасибо: 5 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Andrey
постоянный участник




Пост N: 6013
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.08.18 13:17. Заголовок: 3) Для других проект..


3) Для других проектов, где лазят шустрые ручки юзеров, лончер сделать через ехе-ник, а основную прогу через dll-ку.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6014
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.08.18 13:27. Заголовок: Вот сделал пробный п..


Вот сделал пробный проект - https://cloud.mail.ru/public/4X4S/v4CZmKyru
dll-ка собирается (Григорий давно давал ключи сборки), а вызов из demo.exe не получается.
Что не так делаю ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1979
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.08.18 15:34. Заголовок: Andrey пишет У некот..


Andrey пишет
 цитата:
У некоторых юзеров слабый инет, качать приходиться много, ехе-ник весит 18 мб.


Dll также будет грузиться на клиента, быстрее не будет чем с exeшником. а с hrb скорее всего будет, т.к это внешний файл\ресурс, ты сам читаешь только тот кусок, который надо выполнить.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1980
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.08.18 15:40. Заголовок: PS А.КресинИ еще оди..


PS
А.Кресин
 цитата:
И еще один интересный момент. Я уже отмечал, что hrb файлы очень похожи по функциональности на p-code dll. И действительно, функция hb_hrbLoad() загружает p-code в пространство вашего приложения так же, как функция hb_libLoad() подгружает динамическую библиотеку. А значит, функции из hrb файла можно вызывать таким же образом, т.е. напрямую, без всяких hb_hrbGetFunsym() и Do(). Для этого, как и в случае с использованием p-code dll, надо предварительно объявить эти функции в вашем приложении как DYNAMIC:

?
1
2
3
4
5
6
7
8
DYNAMIC HRBFUNC1
FUNCTION Main()
Local x, handle := hb_hrbLoad( "my.hrb" )

x := hrbFunc1() // hrbFunc1 - функция из my.hrb

hb_hrbUnload( handle )
Return Nil



Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 1472
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 26.08.18 17:10. Заголовок: + за hrb еще в том, ..


+ за hrb еще в том, что этот формат зависит только от компилятора harbour и больше ни от чего. Компилятор С не имеет значения.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6015
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.08.18 17:41. Заголовок: Dll также будет груз..


Dll также будет грузиться на клиента, быстрее не будет чем с exeшником
Не буду грузить Dll-ку при обновлении, она будет постоянной. Один раз загружу и всё.
Насчет hrb - согласен, интересное решение.
Но до перехода к нему хотелось бы научиться делать свои dll-ки на МиниГуи.

Спасибо: 0 
Профиль
ММК
постоянный участник


Пост N: 339
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 26.08.18 19:54. Заголовок: Andrey пишет: А зач..


Andrey пишет:

 цитата:
А зачем? Что это дает?
1) Чтобы уметь так же делать.


Похвально ...
Andrey пишет:

 цитата:
2) Разбить свой проект на части и неизменяемые программы держать в dll-ке.
У некоторых юзеров слабый инет, качать приходиться много, ехе-ник весит 18 мб.



В такой ситуации удобнее держать в dll все то , что может отличаться для разных пользователей т.к не требует перестроения (пересылки) и может меняться прямо на месте ( картинки, экраны, формы... )

Andrey пишет:

 цитата:
3) Для других проектов, где лазят шустрые ручки юзеров, лончер сделать через ехе-ник, а основную прогу через dll-ку.



удивлен

Andrey пишет:

 цитата:
dll-ка собирается (Григорий давно давал ключи сборки), а вызов из demo.exe не получается.
Что не так делаю ?



Вот Вам примерчик на FW , может поможет. Как dll собирается Вы еже знаете - пропустим.

Вот эту пр-му "грузим" в Dll -

#include "FiveWin.ch"

static hDLL

function Main()

local hItem1 := ItemNew( "Hello world!" )
local hItem2 := ItemNew( "From a Harbour DLL" )

hDLL = LoadLibrary( "babudll.dll" )

MsgInfo( ExecuteAll() )

HbDllEntry( "TEST" )

HbDLLEntry2( "TEST2", hItem1, hItem2 )

ItemRelease( hItem1 )
ItemRelease( hItem2 )

MsgInfo( "back from EXE" )

FreeLibrary( hDLL )

return nil

DLL FUNCTION HBDLLENTRY( cProc AS LPSTR ) AS LONG PASCAL LIB hDLL

DLL FUNCTION HBDLLENTRY2( cProc AS LPSTR, pItem1 AS LONG, pItem2 AS LONG ) AS LONG PASCAL LIB hDLL

DLL FUNCTION ExecuteAll() AS BOOL PASCAL LIB hDLL

#pragma BEGINDUMP

#include <hbapi.h>
#include <hbapiitm.h>

HB_FUNC( ITEMNEW )
{
hb_retnl( ( unsigned long ) hb_itemNew( hb_param( 1, HB_IT_ANY ) ) );
}

HB_FUNC( ITEMRELEASE )
{
hb_retl( hb_itemRelease( ( PHB_ITEM ) hb_parnl( 1 ) ) );
}


*******************************************
А вот та , которая работает с этой Dll
*********************************************
function Test()

MsgInfo( "Hello from inside the DLL!" )

return .T.

function Test2( cMsg1, cMsg2 )

MsgInfo( cMsg1, cMsg2 )

return nil

function CheckPassword()

MsgInfo( "Inside CheckPassword()" )

return .T.

#pragma BEGINDUMP

#include <windows.h>
#include <hbvm.h>
#include <hbapiitm.h>

BOOL WINAPI DllEntryPoint( HINSTANCE hinstDLL, DWORD fdwReason,
LPVOID lpvReserved )
{
HB_SYMBOL_UNUSED( hinstDLL );
HB_SYMBOL_UNUSED( fdwReason );
HB_SYMBOL_UNUSED( lpvReserved );

switch( fdwReason )
{
case DLL_PROCESS_ATTACH:
MessageBox( 0, "DLL properly loaded", "DLL entry", 0 );
hb_vmInit( FALSE );
break;

case DLL_PROCESS_DETACH:
MessageBox( 0, "DLL unloaded", "DLL exit", 0 );
break;
}

return TRUE;
}

void pascal __export HBDLLENTRY( char * cProcName )
{
hb_itemDoC( cProcName, 0 );
}

void pascal __export HBDLLENTRY2( char * cProcName, PHB_ITEM pParam1, PHB_ITEM pParam2 )
{
hb_itemDoC( cProcName, 2, pParam1, pParam2 );
}

BOOL __stdcall __export ExecuteAll( void )
{
PHB_ITEM pResult = hb_itemDoC( "CHECKPASSWORD", 0 );

return pResult->item.asLogical.value;
}

Спасибо: 0 
Профиль
ММК
постоянный участник


Пост N: 340
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 26.08.18 20:07. Заголовок: Прошу прощения. Пер..


Прошу прощения. Первая Exe , вторая в Dll :) Жарко ....

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6017
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.08.18 14:31. Заголовок: Привет всем ! Оказыв..


Привет всем !
Оказывается сейчас в МиниГуи нельзя собрать отдельную DLL-ку.
Григорий мне ответил что:
из-за изменений в ядре библиотеки, проведенных за последние 3 года, это не работает.
Поскольку интереса к этой теме не было, замечаний от пользователей тоже не поступало.

То есть я один такой желающий...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1983
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.08.18 10:15. Заголовок: gfilatov2002 Добавь..


gfilatov2002
Добавьте, пожалуйста, метод
 
CLASS TKeyData
...
METHOD Del( Key ) INLINE ( iif( ::Len > 0, hb_HDel ( ::aKey, Key ), ), ::lKey := Len( ::aKey ) > 0 )
METHOD Pos( Key ) INLINE hb_HPos( ::aKey, Key )

...


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1345
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.08.18 12:41. Заголовок: SergKis пишет: Доба..


SergKis пишет:

 цитата:
Добавьте, пожалуйста, метод


Сделал.

Кстати.
Завершена подготовка финальной версии сборки 18.08, которая будет опубликована завтра.

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1346
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.08.18 10:14. Заголовок: Выпущена новая сборк..


Выпущена новая сборка 18.08 для BCC 5.51 и компиляторов Harbour и xHarbour

Базовый дистрибутив-инсталлятор находится по адресу

http://hmgextended.com/files/CONTRIB/hmg-18.08-setup.exe

Рекомендуется к использованию

Также имеются в наличии готовые сборки для:

- MinGW 8.1.0 32-bit для Harbour 3.2.0dev;

- MinGW 8.1.0 64-bit для Harbour 3.4.0dev;

- MS VisualC 2017 32-bit для Harbour 3.2.0dev;

- Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.4.0dev.

Они доступны для тех, кто поддержал материально сопровождение библиотеки

Выпуск новых сборок в ближайшее время НЕ планируется...

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1984
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.08.18 10:48. Заголовок: Может пригодится ком..


Может пригодится кому.
Немного модифицировал пример Tsb_brw2Xml, добавил обработку цвета фонта в меню "Export to Excel (xml-files) 2"
Пример тут (hmg 18.08) https://my-files.ru/o226gf

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1347
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.08.18 11:11. Заголовок: SergKis пишет: Немн..


SergKis пишет:

 цитата:
Немного модифицировал пример Tsb_brw2Xml


Спасибо
Очень качественная модификация

P.S. Я сделал "тихое" обновление сборки 18.08, чтобы включить в нее Вашу модификацию и дополнения Aндрея для примера эспорта данных из TSBrowse

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1348
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.08.18 11:48. Заголовок: Выложил 1-й апдейт с..


Выложил 1-й апдейт сборки 18.08 со следующим списком изменений:

 цитата:
2018/08/31: HMG Extended Edition version 18.08 (Update 1). 
* Fixed: A problem with defining of the columns in a TBROWSE control
(introduced in the build 18.06).
Bug was reported by Henry Herrera.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: 'TSBrowse Export data to a XLS/XML file' sample:
- added a color's management in the class Tsb2Xml2Xls.
Contributed by Sergej Kiselev
(see Tsb4xml.prg in folder \samples\Advanced\Tsb_Brw2xml)
* Updated: 'TSBrowse Export data to XLS/XML/DOC/DBF files' sample:
- added an export of a logo picture and subtitle of a table
for XLS and DOC formats.
Contributed by Verchenko Andrey <verchenkoag@gmail.com>
(see in folder \samples\Advanced\Tsb_Export)


Так что тихого обновления не вышло...

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1300
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.09.18 16:33. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Выпущена новая сборка 18.08 для BCC 5.51 и компиляторов Harbour и xHarbour


Не собрался текущий проект ругается на библиотеки SSL ( не находит половину вызовов )
Если libeay32.lib и ssleay32.lib взять с предыдущей версии , то все собирается
PS к Минигуи проблема скорее не относится, это скорее к харбору , НО в поставке МиниГуи

вот пример ( собирается с библиотеками из прошлой поставки и не собирается с новой )

TEST.PRG
 
#require "hbssl"
#require "hbtip"

REQUEST __HBEXTERN__HBSSL__

#include "simpleio.ch"

PROCEDURE Main( cFrom, cPassword, cTo )

IF ! tip_SSL()
? "Error: Requires SSL support"
wait
RETURN
ENDIF

hb_default( @cFrom , "test@yandex.ru" )
hb_default( @cPassword, "parol" )
hb_default( @cTo , "mail@mail.ru" )

? hb_SendMail( ;
"smtp.yandex.ru", ;
465, ;
cFrom, ;
cTo, ;
NIL /* CC */, ;
{} /* BCC */, ;
"It is a test message", ;
"It is a test subject", ;
NIL /* attachment */, ;
cFrom, ;
cPassword, ;
"", ;
NIL /* nPriority */, ;
NIL /* lRead */, ;
.T. /* lTrace */, ;
.F., ;
NIL /* lNoAuth */, ;
NIL /* nTimeOut */, ;
NIL /* cReplyTo */, ;
.T. )
wait
RETURN


BUILD.BAT
 
echo off
if not defined MG_ROOT set MG_ROOT=C:\MiniGui
if not defined MG_BCC set MG_BCC=c:\borland\bcc55
set PATH=%MG_BCC%\bin;%MG_ROOT%\harbour\bin;%PATH%

C:\MiniGui\Harbour\bin\hbmk2 -lhbtip -lhbssl -llibeay32 -lssleay32 test.prg


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1349
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.09.18 19:54. Заголовок: Haz пишет: Если lib..


Haz пишет:

 цитата:
Если libeay32.lib и ssleay32.lib взять с предыдущей версии , то все собирается


Благодарю за сообщение
Забыл обновить эти библиотеки вручную - доверился сборке Харбора
Завтра поправлю эту бяку в архиве на сайте минигуи...

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1350
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.09.18 09:54. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Завтра поправлю эту бяку


Поправил установщик и архив на сайте

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1301
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.09.18 10:26. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Поправил установщик и архив на сайте


Спасибо, все нормально собирается

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6024
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.18 22:36. Заголовок: Привет ! Что то слом..


Привет !
Что то сломалось в новой версии. Вот код перестал работать:
 
hWnd := GetFormHandle('Win_2')
ON KEY PRIOR ACTION SendMessage( hWnd, WM_VSCROLL, SB_PAGEUP, 0 )
ON KEY NEXT ACTION SendMessage( hWnd, WM_VSCROLL, SB_PAGEDOWN, 0 )
ON KEY UP ACTION SendMessage( hWnd, WM_VSCROLL, SB_LINEUP, 0 )
ON KEY DOWN ACTION SendMessage( hWnd, WM_VSCROLL, SB_LINEDOWN, 0 )

Т.е. по мышке движения есть, а по клавишам нет.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 270
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет