On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.01.10 09:02. Заголовок: Чем отличается HB2 от HB1.1?


Здравствуйте всем!
Скачал HARBOUR2.0. Настроил пути и собрал проект. Исполняемый модуль увеличился. А что еще хорошего следует ожидать от замены компилятора? Спасибо за ответы!

Спасибо: 1 
Цитата Ответить
Ответов - 35 , стр: 1 2 All [только новые]


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


Пост N: 240
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.01.10 09:46. Заголовок: http://www.harbour-p..

Спасибо: 1 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.01.10 12:34. Заголовок: Это я конечно видел...


Это я конечно видел. Но понимается с трудом (и дело не только в незнании английского). Хотелось бы по-русски узнать - кто какие преимущества реально ощутил после перехода на 2.0

Спасибо: 1 
Цитата Ответить
постоянный участник


Пост N: 241
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.01.10 13:06. Заголовок: Интересный вопрос.....


Интересный вопрос... :)
Мне думается, что каждый сам может выяснить, глядя на список изменений и дополнений, есть какие-либо преимущества лично для него или нет.
Проект развивается - это главное "преимущество", имхо. :)


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 32
Зарегистрирован: 01.01.10
ссылка на сообщение  Отправлено: 09.01.10 00:11. Заголовок: Выскажу сугубо лично..


Выскажу сугубо личное мнение. Вот у меня на домашнем компьютере нет принтера, в Windows установлен принтер "Generic / Text Only" для которого указан порт вывода - файл на диске. И СКОЛЬКО HARBOUR-ОВ Я НЕ ПЕРЕПРОБОВАЛ - НИ ОДИН НЕ ХОЧЕТ В НЕГО ПЕЧАТАТЬ! А с xHarbour - легко и приятно иметь дело. Меня не интересует кросс-платформенность и GNU C++, и Linux я осваивать не собираюсь (вместе с Unix-ом). ИМХО!


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


Пост N: 245
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 09.01.10 10:56. Заголовок: sergey5703 пишет: в..


sergey5703 пишет:

 цитата:
в Windows установлен принтер "Generic / Text Only" для которого указан порт вывода - файл на диске. И СКОЛЬКО HARBOUR-ОВ Я НЕ ПЕРЕПРОБОВАЛ - НИ ОДИН НЕ ХОЧЕТ В НЕГО ПЕЧАТАТЬ!


Только что попробывал. Нормально работает.
Единственный момент: если написать следующий код
SET PRINTER TO ( Win_PrinterGetDefault() ),
то имя принтера по-умолчанию должно быть пригодным для создания файла ИмяПринтера.prn
В нашем случае имя принтера - "Generic / Text Only". Думаю, не стоит объяснять, почему система не сможет создать
файл с именем "Generic / Text Only.prn"... :)
Можно просто установить принтер "Generic / Text Only" по-умолчанию и написать:
SET PRINTER TO ( "SpoolFile" )
и получим файл "SpoolFile.prn"


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.01.10 11:32. Заголовок: Хочется услышать сра..


Хочется услышать сравнительные характеристики по скорости, надежности и прочее. Например Harbour намного превосходит Clipper при сложных заданиях на локальной машине при работе одним пользователем. В сети при нескольких работающих станциях преимущество практически незаметно. А как с H2?
И еще. В примерах поставки H2 есть пример терминального протокола. Кто-нибудь пробовал? Как я понял, для применения терминального доступа нужно несколько модифицировать свое приложение и запускать его на сервере. Кроме того, запустить там же терминальный сервер, а на рабочей станции - клиент. После этого приложение будет выполняться на сервере, а на клиент будут посылаться экраны, обратно - нажатия клавиш (может и мышь?). С печатью вроде бы не все гладко. Очень заманчивая вещь для многопользовательских систем. Может организуем клуб "терминальщиков"? Сообща веселее.

Спасибо: 0 
Цитата Ответить
Администратор




Пост N: 1280
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.01.10 15:14. Заголовок: Имеется в виду examp..


Имеется в виду examples\terminal ?
Я запускал этот пример по локальной сети, нажатие клавиш отрабатываеися с задержкой. Почему - не разбирался.

Что касается удаленной печати, то ее можно сделать таким образом.
Разработать класс RemotePrint. Обьект этого класса создается на терминальном сервере приложением вместо объекта класса Win_Prn
В обработчике ERROR HANDLER на клиент должны передаваться имя метода с параметрами. На клиенте при этом будет создаваться уже
обьект класса Win_Prn, выполняться его методы, и обратно возвращаться результат. Обработчик ERROR HANDLER на сервере вернет результат приложению.
Такой же механизм можно использовать для работы и с дугими классами. Собственно можно сделать один подобный класс вида:

CREATE CLASS TrmRemote

DATA ServerClass
DATA socket
DATA handle

METHOD New( cClass ) CONSTRUCTOR

ERROR HANDLER OnError()

ENDCLASS


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 09.01.10 16:58. Заголовок: Да, речь именно об э..


Да, речь именно об этом. Прежде чем вкладывать в эту штуку время и другие ресурсы, хотелось бы узнать мнение гуру: это реальная вещь или игрушка, от которой до настоящей терминал-серверной работы - вечность?

Спасибо: 0 
Цитата Ответить
постоянный участник


Пост N: 782
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 10.01.10 00:50. Заголовок: wad1 пишет: это реа..


wad1 пишет:

 цитата:
это реальная вещь или игрушка, от которой до настоящей терминал-серверной работы - вечность?


Это реальный пример и не более того. Вы можете его улучшить (или ухудшить ). Написание этого примера стало возможным благодаря использованию новых возможностей hb 2.0 (МТ, socket etc.)
В ближайшем будущем Пржемек пообещал вернуться к работе над GTNET - "..Anyhow I plan to work on GTNET in the nearest future..", так что пожелаем ему удачи, себе терпения .

 цитата:
Хочется услышать сравнительные характеристики по скорости, надежности и прочее.


Ну, наверное, для такого сравнения надо специальные тесты писать. Естественно я этого не делал. Более того, я использую не официальные выпуски, а делаю регулярно свои сборки, поэтому четко определить разницу между 1.0 и 2.0 не могу
Теоретически (и практически) за последний год-полтора Harbour стал быстрее, и способствовало этому два фактора - использование собственного менеджера памяти на базе dlmalloc и компилирование HVM в виде единого файла (hvmall.c), что позволяет С компиляторам проводить более глубокую оптимизацию генерируемого кода. Само собой разумеется скорость зависит от выбраной модели ST или MT, cкорость также зависит от того какой С компилятор вы используете. У меня два фаворита MSVC и MinGW. С MSVC можно использовать еще один альтернативный менеджер памяти hoard.
Теперь о надежности, в hb 2.0 были исправлены некоторые ошибки и другие потенциально опасные вещи, могущие привести к RTE или GPF.

 цитата:
Прежде чем вкладывать в эту штуку время и другие ресурсы


Рекомендую потратить время на изучение новых возможностей hb 2.0, hbnetio, hbmemio. А к идее терминала вернуться чуть позже, после реализации GTNET.


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




Пост N: 1032
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.01.10 11:49. Заголовок: Петр пишет: изучени..


Петр пишет:

 цитата:
изучение новых возможностей hb 2.0, hbnetio, hbmemio


А что это такое ? Хоть несколько строк, чтоб понять....

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник


Пост N: 784
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 10.01.10 16:52. Заголовок: Andrey, вы же пользу..


Andrey, вы же пользуетесь xHarbour, зачем вам это нужно?
В терминологии xHb hbmemio - это filemem, hbnetio - что-то вроде hbfilere, но покруче, поскольку кроме операций RDD позволяет также исполнение RPC.

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1034
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.01.10 17:13. Заголовок: Петр пишет: вы же п..


Петр пишет:

 цитата:
вы же пользуетесь xHarbour, зачем вам это нужно?


Я же не век сидеть буду на хХарборе.... Тем более все пишут, что Харбор быстрей....
А быстродействие своих программ я тоже хочу поднять... Тем более нужно стремиться к новому !

Петр пишет:

 цитата:
В терминологии xHb hbmemio - это filemem, hbnetio - что-то вроде hbfilere, но покруче, поскольку кроме операций RDD позволяет также исполнение RPC.



А по русски можно ? Ну не все такие разбирающиеся в технологиях .....

Спасибо: 1 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.01.10 18:22. Заголовок: Похоже, что с помощь..


Похоже, что с помощью hbmemio можно создавать таблицы (в виде DBF) в памяти, индексировать их, обрабатывать, и все это без записи на диск. Скорость обработки видимо должна существенно возрасти, если памяти достаточно. Однако сможет ли другое приложение увидеть такую таблицу? Частенько временные таблицы создаются для передачи их, например, внешнему генератору отчетов.

Спасибо: 1 
Цитата Ответить
постоянный участник


Пост N: 246
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.01.10 19:50. Заголовок: Про hbnetio (чтобы и..


Про hbnetio (чтобы исключить неточности, цитирую из ChangeLog)

 цитата:

2009-09-01 00:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
............................................................................................................
+ added new library: HBNETIO.
It implements alternative RDD IO API which uses own TCP/IP sockets
to exchange data between client and server.
This library contains client and server code and is fully MT safe.
On client side it's enough to execute:
NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>] ) -> <lOK>
function to register alternative NETIO RDD API and set default
server address and port.
<cServer> - server addres (default 127.0.0.1)
<cPort> - server port (default 2941)
<nTimeOut> - connection timeout (default -1 - not timeout)
Above settings are thread local and parameters of the 1-st successful
connection are used as default values for each new thread.
After registering NETIO client by above function each file starting
"net:" prefix is automatically redirected to given NETIO server, i.e.
use "net:mytable"
It's also possible to pass NETIO server and port as part of file name,
i.e.:
use "net:192.168.0.1:10005:mytable"
On the server side the following functions are available:
create NETIO listen socket:
NETIO_LISTEN( [<nPort>], [<cAddress>], [<cRootDir>] )
-> <pListenSocket> | NIL
accept new connection on NETIO listen socket:
NETIO_ACCEPT( <pListenSocket> [, <nTimeOut>] )
-> <pConnectionSocket> | NIL
start connection server:
NETIO_SERVER( <pConnectionSocket> ) -> NIL
stop connection accepting or connection server:
NETIO_SERVERSTOP( <pListenSocket> | <pConnectionSocket>, <lStop> )
-> NIL
activate MT NETIO server (it needs MT HVM):
NETIO_MTSERVER( [<nPort>], [<cAddress>] ) -> <pListenSocket> | NIL

To create NETIO server is enough to compile and link with MT HVM
this code:

proc main()
local pListenSocket

pListenSocket := netio_mtserver()
if empty( pListenSocket )
? "Cannot start server."
else
wait "Press any key to stop NETIO server."
netio_serverstop( pListenSocket )
pListenSocket := NIL
endif
return

NETIO works with all core RDDs (DBF, DBFFPT, DBFBLOB, DBFNTX, DBFCDX,
DBFNSX, SDF, DELIM) and any other RDD which inherits from above or
use standard RDD IO API (hb_file*() functions).
Without touching even single line in RDD code it gives the same
functionality as REDBFCDX in xHarbour but for all RDDs.
It's possible that such direct TCP/IP connection is faster then
file server protocols especially if they need more then one IP frame
to exchange data so it's one of the reason to use it in such cases.
Please make real speed tests.
The second reason to use NETIO server is resolving problem with
concurrent access to the same files using Harbour applications
compiled for different platforms, i.e. DOS, LINUX, Windows and OS2.
It's very hard to configure all client stations to use correct
locking system. NETIO fully resolves this problem so it can be
interesting alternative also for MS-Windows users only if they
do not want to play with oplocks setting on each station.
I'm interesting in user opinions about real life NETIO usage.



Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1036
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.01.10 23:04. Заголовок: PSP пишет: Про hbne..


PSP пишет:

 цитата:
Про hbnetio


Это чтож получается, как у "alkresin" - драйвер LetoDB ?

А кто реально пробовал эти штуки ? Ваши впечатления, господа ?

Спасибо: 1 
ПрофильЦитата Ответить
Администратор




Пост N: 1281
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.01.10 23:45. Заголовок: Нет, это не клиент-с..


Нет, это не клиент-сервер. При использовании netio доступ к файлам выполняется не через файловые операции: open, read и пр, а с помощью передачи данных по ip протоколу.

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник


Пост N: 786
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.01.10 01:04. Заголовок: Да это не клиент-сер..


Да это не клиент-сервер, как пишет автор, это альтернативное RDD IO API, использующее свой очень простой TCP/IP файл сервер.
Но, в версии 2.0.1 в HBNETIO протокол была добавлена поддержка RPC (удаленного вызова процедур). К примеру
? netio_funcexec( "upper", "hello world !!!" ) // Естественно такая функция должна существовать на стороне сервера.
Что можно делать с таким комбинированным сервером, это уже сам программист должен решать. Но то, что это очень и очень расширяет возможности - это факт.




Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 35
Зарегистрирован: 01.01.10
ссылка на сообщение  Отправлено: 11.01.10 02:05. Заголовок: Не знаю, может я что..


Не знаю, может я что то путаю, но мне кажется, что NETIO очень сильно смахивает на заготовку ядра будущего Харборовского SQL-сервера (пока без языка запросов и всего прочего). В тексте, процитированным PSP разработчик Przemyslaw Czerpak просит "Пожалуйста сделайте реальные тесты скорости", а также пишет: "Я интересуюсь пользовательскими мнениями о реальном использовании NETIO".


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.01.10 08:37. Заголовок: Вопрос: в случае при..


Вопрос: в случае применения NETIO нужно давать пользователю полные права на каталог с данными? Хочется надеяться, что нет. Однако как быть с источниками данных, не являющимися DBF-таблицами: INI-файлы, бланки отчетов и т.д.? Еще вопрос: если клиентов много, то сервер должен запускаться только один? А скольких клиентов он потянет? И последний (в этот раз): Смогут ли параллельно с сервером работать с этими же файлами сторонние подсистемы с корректным применением блокировок и корректировкой индексов?

Спасибо: 0 
Цитата Ответить
постоянный участник


Пост N: 787
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.01.10 14:08. Заголовок: в случае применения ..



 цитата:
в случае применения NETIO нужно давать пользователю полные права на каталог с данными


нет

 цитата:
Однако как быть с источниками данных, не являющимися DBF-таблицами: INI-файлы, бланки отчетов и т.д.?


RPC, пока

 цитата:
если клиентов много, то сервер должен запускаться только один?


С технической стороны таких ограничений нет, вы можете запустить несколько сервером на одном компе используя разные порты, или несколько серверов в сети, создать вычислительный кластер

 цитата:
А скольких клиентов он потянет?


Попробуете, поделитесь информацией

 цитата:
Смогут ли параллельно с сервером работать с этими же файлами сторонние подсистемы с корректным применением блокировок и корректировкой индексов?


Что вы имеете ввиду под "сторонние подсистемы", если это приложения написанные на harbour - да.



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 35 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 12
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет