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



Пост N: 67
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 30.11.14 11:22. Заголовок: Перевожу Clipper на консольный Харбор


Добрый день, уважаемое сообщество!

Перехожу на Харбор, собрал программу, начинаю бороть ошибки несовместимости кода, по мере появления вопросов надеюсь на скорую помощь.
Заранее всем участникам огромное спасибо!



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 176 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]





Пост N: 68
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 30.11.14 11:31. Заголовок: ошибка построения индекса


Работаю с ADS
Выдает ошибку построения индекса на основе данных связаных таблиц.
Код имеет следующий вид:

use pricen new
index on kod to price
use sklad new
set relation to s_kodt into PRICEN
index on PRICEN->cena to s_cena

Ошибка:
 цитата:
Error ADSNTX/3010 Error 3010: Unknown alias name used
with field name in index key expression.: s_cena



И еще одна ошибка при использовании сложных выражений в индексе:

INDEX ON c_kod+IF(c_kod<0,0,IF(C_KOD==qmag,10000,if(fil>0,20000,if(osn,-10000,40000)))) TO clientss

В Clipper все работает


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


Пост N: 376
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.14 15:01. Заголовок: MIKHAIL пишет: Выда..


MIKHAIL пишет:

 цитата:
Выдает ошибку построения индекса на основе данных связаных таблиц.



Из справки по ADS
Problem: An error occurred in the Advantage Expression Engine parser. A field name within the key expression was aliased by an unknown alias name.
Solution: Advantage only supports aliases for the current work area. If an alias to another work area is referenced, this error will result. Verify the alias name is spelled properly.

PS:Если не секрет , какой смысл здесь от ADS, может на CDX перейти? возможно даже и пошустрее будет. Тем более вроде как ADS заставляете работать в режиме совместимости с NTX который не умеет автоматически открывать эти индексы и соответственно не оптимизирует запросы ( за исключение наличия словаря данных).
ADS хорош как компактный сервер БД c его оптимизацией SQL запросов и конечно оптимизацией фильтров используя ПРОСТЫЕ индексы, во всяком случае я для себя это определил как главное . Если использовать локальный сервер ADS ( ADSLocal32.dll) - то только как тест или с числом пользователей не более 10,
Уже давно обхожусь без SET RELATION и сложных INDEX, все достаточно шустро делает сам сервер , по команде SELECT * FROM ... JOIN .. WHERE создается рабочая область собранная из нескольких таблиц как надо.

PPS: Может сразу на GUI ?

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



Пост N: 69
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 30.11.14 21:48. Заголовок: Haz Advantage only..


Haz

 цитата:
Advantage only supports aliases for the current work area


ADS для Clipper и Harbor по разному работают?

 цитата:
Если не секрет , какой смысл здесь от ADS


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

 цитата:
Уже давно обхожусь без SET RELATION и сложных INDEX, все достаточно шустро делает сам сервер , по команде SELECT * FROM ... JOIN .. WHERE


Речь идет о БД SQL ? Или ADS поддерживает запросы SQL ? Если в ADS есть такая возможность, где можно почитать про это поподробнее? Или лучше пример использования запросов и разбор ответов. С MySQL дело имел, такой подход интересно было бы использовать

 цитата:
PPS: Может сразу на GUI ?


В смысле? Забить на проект который писался 20 лет и с нуля новый разработать? Даже если не с нуля, нужно перевести то что есть, а потом уже GUI наверное...

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


Пост N: 379
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.14 22:02. Заголовок: MIKHAIL пишет: ADS ..


MIKHAIL пишет:

 цитата:
ADS для Clipper и Harbor по разному работают?


Скорее всего по разному, вроде мелькала такая инфа, но утверждать не стану
Для Clipper версия с 8 не поддерживается а уже текущая 11 .

MIKHAIL пишет:

 цитата:
Речь идет о БД SQL ? Или ADS поддерживает запросы SQL ? Если в ADS есть такая возможность, где можно почитать про это поподробнее?


ADS поддерживает SQL почитать можно в справке. http://devzone.advantagedatabase.com/dz/webhelp/Advantage11.1/index.html
Примеры вроде Dima тут не раз выкладывал можно поискать по форуму.
MIKHAIL пишет:


 цитата:
Забить на проект который писался 20 лет


GUI морда не сильно увеличит время перевода с Clipper , но согласен в console привычнее и быстрее будет



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




Пост N: 3229
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.12.14 08:06. Заголовок: Клиент ads для клипп..


Клиент ads для клиппера поддерживает индексацию на клиенте, а все 32-х разрядные клиенты ads, в том числе харбор-клиент, не поддерживают. Поэтому такое создание индекса не сработает. Но это вопрос ads, а не харбора, и вопрос неразрешимый.

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



Пост N: 11
Зарегистрирован: 05.11.14
ссылка на сообщение  Отправлено: 01.12.14 12:30. Заголовок: MIKHAIL пишет: И ещ..


MIKHAIL пишет:

 цитата:
И еще одна ошибка при использовании сложных выражений в индексе:

INDEX ON c_kod+IF(c_kod<0,0,IF(C_KOD==qmag,10000,if(fil>0,20000,if(osn,-10000,40000)))) TO clientss

В Clipper все работает


А если попробовать:
INDEX ON c_kod+IIF(c_kod<0,0,IIF(C_KOD==qmag,10000,iif(fil>0,20000,iif(osn,-10000,40000)))) TO clientss


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



Пост N: 71
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 01.12.14 14:52. Заголовок: VitalClip пишет: А ..


VitalClip пишет:

 цитата:
А если попробовать:
INDEX ON c_kod+IIF(c_kod<0,0,IIF(C_KOD==qmag,10000,iif(fil>0,20000,iif(osn,-10000,40000)))) TO clientss



Не работает. Ну это не так принципиально, перепишу.

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



Пост N: 72
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 01.12.14 21:34. Заголовок: Еще вопросики: 1.Как..


Еще вопросики:
1.Как запустить консольный Harbor в виде системной службы, в скрытом виде?
2.Можно ли одновременно использовать ADS в одной программе по IP и IPX протоколу, по выбору? Мне нужно конектиться к БД которая на NW лежит и одновременно подключаться к удаленной БД через интернет.
3.Можно ли в консольной версии Harbor подключить такие библиотеки как FR ?

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




Пост N: 3789
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.12.14 22:01. Заголовок: MIKHAIL пишет: 3.Мо..


MIKHAIL пишет:

 цитата:
3.Можно ли в консольной версии Harbor подключить такие библиотеки как FR ?



Да. У меня задачи с ним с 2008 года работают, только у меня больше всего на хХарборе, но это не принципиально.
Демонстрашки можешь скачать с ... Облом, нет уже сайта http://www.paritetsoft.ru/frh.htm
Ну тогда предлагаю мои примеры и просмотр файлов FR на МиниГуи смотри здесь https://cloud.mail.ru/public/39dd9efd1bbe/FastReport40
Если что заинтересует, пиши.

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


Пост N: 380
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.12.14 22:23. Заголовок: 1.Как запустить конс..



 цитата:
1.Как запустить консольный Harbor в виде системной службы, в скрытом виде?



В исходниках есть пример службы core\contrib\hbnetio\utils\hbnetio

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



Пост N: 73
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 02.12.14 11:18. Заголовок: Error BASE/1005 Mes..


Error BASE/1005 Message not found: TBCOLUMN:_COLORBLOC

Где посмотреть справку по Tbrowse ?

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




Пост N: 3232
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.12.14 12:48. Заголовок: Справку можно посмот..


Справку можно посмотреть в ng по клипперу, а по поводу этой ошибки: замените выражение вида

<obj>:colorbloc

на

<obj>:colorblock


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



Пост N: 74
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 02.12.14 13:54. Заголовок: Pasha пишет: замени..


Pasha пишет:

 цитата:
замените выражение вида
<obj>:colorbloc
на
<obj>:colorblock



Спасибо, глаз замылился, а в Clipper и так работало...

Еще вопросы:
Я так понимаю что цветовая палитра может быть более расширенная? Где посмотреть полную карту палитры?
цвет вида g*+/b не мигает, как исправить?
Какие можно шрифты использовать в консоли?

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



Пост N: 117
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 03.12.14 15:32. Заголовок: Какие можно шрифты использовать в консоли?


Моноширинные. Courier New, Lucida Console,Consolas..

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



Пост N: 75
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 05.12.14 13:46. Заголовок: petr707 пишет: Моно..


petr707 пишет:

 цитата:
Моноширинные. Courier New, Lucida Console,Consolas..



А работать со шрифтами так же как и в clipper? или там своя система управления шрифтами?

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




Пост N: 4294
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.12.14 14:04. Заголовок: для WVT терминала hb..


для WVT терминала
hb_gtInfo(HB_GTI_CODEPAGE, 255)
hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console')
hb_gtInfo(HB_GTI_FONTQUALITY,4)

тут размеры
HB_GtInfo(HB_GTI_FONTSIZE , nFontH)
HB_GtInfo(HB_GTI_FONTWIDTH, nFontW)


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



Пост N: 77
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 23.02.15 13:59. Заголовок: Dima пишет: для WV..


Dima пишет:

 цитата:

для WVT терминала
hb_gtInfo(HB_GTI_CODEPAGE, 255)
hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console')
hb_gtInfo(HB_GTI_FONTQUALITY,4)

тут размеры
HB_GtInfo(HB_GTI_FONTSIZE , nFontH)
HB_GtInfo(HB_GTI_FONTWIDTH, nFontW)



Не понимаю как использовать шрифты различных размеров одновременно? Мне нужно стандартный шрифт и крупнее в 5 -6 раз
Как могу поменять толщину шрифта?
Как изменить шрифт у в полноэкранном режиме?
Как автоматически запускть в полноэкранном режиме?

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




Пост N: 4520
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.02.15 14:19. Заголовок: у себя делаю так при..


у себя делаю так примерно.
 
#REQUEST HB_GT_WVT


hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console')
hb_gtInfo(HB_GTI_FONTQUALITY,4)

nWidth := HB_GtInfo(HB_GTI_DESKTOPWIDTH)
nHeight := HB_GtInfo(HB_GTI_DESKTOPHEIGHT)

nFontH := Int(nHeight/25)
nFontW := Int(nWidth /80)

HB_GtInfo(HB_GTI_FONTSIZE , nFontH)
HB_GtInfo(HB_GTI_FONTWIDTH, nFontW)

setmode(25,80)


Но это будет не полноэкранный режим а окно.
Что касается атрибутов шрифта , копни "hbgtinfo.ch"


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




Пост N: 4521
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.02.15 14:55. Заголовок: Пример самодостаточн..


Пример самодостаточный , поиграйся с ним .
 

#include "hbgtinfo.ch"

proc main
local nWidth,nHeight,nFontH,nFontW

REQUEST HB_GT_WVT_DEFAULT

REQUEST HB_LANG_RU866
HB_LANGSELECT("RU866")

REQUEST HB_CODEPAGE_RU866
hb_cdpSelect( "RU866" )

hb_gtInfo(HB_GTI_MAXIMIZED,.t.)

hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console')
hb_gtInfo(HB_GTI_FONTQUALITY,4)

nWidth := HB_GtInfo(HB_GTI_DESKTOPWIDTH)
nHeight := HB_GtInfo(HB_GTI_DESKTOPHEIGHT)

nFontH := Int(nHeight/25)
nFontW := Int(nWidth /80)

HB_GtInfo(HB_GTI_FONTSIZE , nFontH)
HB_GtInfo(HB_GTI_FONTWIDTH, nFontW)

setmode(25,80)

? "TEST"
? "ПРОВЕРКА"
wait

return


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


Пост N: 488
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 24.02.15 09:19. Заголовок: Речь идет о БД SQL..




 цитата:

Речь идет о БД SQL ? Или ADS поддерживает запросы SQL ? Если в ADS есть такая возможность, где можно почитать про это поподробнее?


Я использую локальный ADS для формирования данных для некоторых отчетов, примерно так

 цитата:

AdsConnect('C:\')
nSele:=Select() ; Select (nSele+1)
AdsCreateSQLStatement('QUERY', 2)

sQlStr:='SELECT DISTINCT w.n_otdel,k.kucha,k.Nomk,k.fam,k.im,k.ot,k.pol,k.birth_date,';
+ 'k.DOC_TYPE,k.DOC_SER,k.DOC_NUM,k.NO_POLIS,k.SMK_CODE,';
+ 'k.POLIS_SER,k.POLIS_NUM,k.EDIN_POLIS,k.NASP_CODE2,W.S_TYPE ';
+ ' FROM '+Par2+'ARC\Karta kT, ';
+ Par2+'ARC\SWIST W,';
+ Par2+'KLIENT K ';
+ ' where ((kT.Unicum = K.Unicum) and (kT.N_TALON = W.N_TALON)';
+' AND (K.N_TARIF =0 ) AND (kT.Oplata =2) AND ';
+ IIF(i=1,' (W.S_TYPE ='+chr(39)+'R'+chr(39)+') ',' (W.S_TYPE <> '+chr(39)+'R'+chr(39)+') ');
+ ') ORDER BY 4,5'

AdsPrepareSQL(sQlStr)
AdsExecuteSQL(sQlStr)

nRecCount:=RecCount()

if nRecCount > 0



Создание индексов только в RDD CDX.
Конфликтов не замечено, хХарбоур 1
Если у тебя много подключений? то желательно НЕ локальный сервер ADS

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



Пост N: 78
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 24.02.15 10:19. Заголовок: Vlad04 пишет: nRecC..


Vlad04 пишет:

 цитата:
nRecCount:=RecCount()
if nRecCount > 0



А какой формат возвращаемых данных? Как их разбирать?



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



Пост N: 79
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 24.02.15 12:15. Заголовок: Еще вопросы: - можно..


Еще вопросы:
- можно ли вставить картинку в Tbrowse ?
- где можно посмотреть примеры подключения к MYSQL ?

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


Пост N: 489
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 24.02.15 14:23. Заголовок: А какой формат возвр..



 цитата:
А какой формат возвращаемых данных? Как их разбирать?


Это та же DBF. Формат возвращаемых данных = Формату исходных полей, которые учавствуют в запросе.

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


Пост N: 469
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.02.15 14:25. Заголовок: MIKHAIL пишет: А ка..


MIKHAIL пишет:

 цитата:
А какой формат возвращаемых данных? Как их разбирать?



1) в результате выполнения SQL запроса получаем открытую рабочую область с записями по условию SQL
2) разбирать как обычную раб область к примеру while !eof() ...skip ... end

MIKHAIL пишет:

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


в примерах MiniGui есть несколько , вот один
C:\MiniGUI\SAMPLES\BASIC\MYSQL\

Vlad04 - опередил



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




Пост N: 4525
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.15 14:44. Заголовок: MIKHAIL пишет: - мо..


MIKHAIL пишет:

 цитата:
- можно ли вставить картинку в Tbrowse ?


Картинки показывать можно но в бровс вставить скорее всего не получится (ну разве что в заголовок) и для
этих целей лучше использовать одну из GUI библиотек.

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



Пост N: 80
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 24.02.15 15:43. Заголовок: Dima пишет: Пример ..


Dima пишет:

 цитата:
Пример самодостаточный , поиграйся с ним .



А с какими параметрами поиграться? как добиться одновременного использования шрифтов разных размеров?
У меня меняется шрифт на всем экране. А в полноэкранном режиме впечатление такое что справа еще отступ символов на 10, 80 символов выводит не до конца экрана...

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




Пост N: 4526
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.15 15:52. Заголовок: MIKHAIL пишет: как ..


MIKHAIL пишет:

 цитата:
как добиться одновременного использования шрифтов разных размеров?


Боюсь ни как...

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



Пост N: 81
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 24.02.15 16:22. Заголовок: Dima пишет: Боюсь н..


Dima пишет:

 цитата:
Боюсь ни как...


т.е. только под GUI можно?

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




Пост N: 4527
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.15 16:30. Заголовок: MIKHAIL пишет: т.е...


MIKHAIL пишет:

 цитата:
т.е. только под GUI можно?


Да

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



Пост N: 122
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 24.02.15 17:59. Заголовок: Не совсем так..


Видимо, все-таки можно иметь разные шрифты в разных открытых окнах.
В пределах одного окна - только один размер.

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




Пост N: 4528
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.15 18:01. Заголовок: petr707 пишет: Види..


petr707 пишет:

 цитата:
Видимо, все-таки можно иметь разные шрифты в разных открытых окнах.


да это понятно что в разных можно

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



Пост N: 83
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 27.02.15 17:36. Заголовок: Как подключить мышку..


Как подключить мышку для WVT терминала ?

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



Пост N: 123
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 27.02.15 19:01. Заголовок: mousetst.prg


Можно начать с mousetst.prg из комплекта HBxx

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



Пост N: 84
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 28.02.15 09:39. Заголовок: petr707 пишет: Можн..


petr707 пишет:

 цитата:
Можно начать с mousetst.prg из комплекта HBxx



А как привязать к prompt, achoice, get ? Неужели нет встроенного механизма обработки стандартных объектов?
Работа с тачскрином аналогична мышке?


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



Пост N: 85
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 28.02.15 10:06. Заголовок: petr707 пишет: В пр..


petr707 пишет:

 цитата:
В пределах одного окна - только один размер.


А может есть какие нибудь функции вывода текста в графике другим шрифтом, как в clipper например:
GWRITEAT(X , Y , cString, nColor, LLG_MODE_SET, aFont)


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




Пост N: 4556
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.02.15 10:13. Заголовок: harbour\contrib&..


harbour\contrib\gtwvg\

Там есть примеры

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



Пост N: 124
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 28.02.15 13:53. Заголовок: А так ли уж полезна мышка в VWT...


Achoice и get будут реагировать на мышку, как только откроется прием событий от мышки INKEY_ALL
Для GET мышка может дать проблему за счет произвольного доступа к любому поле на форме,
если специально об этом не позаботиться.
Клавишками - только последовательный(ну или контролируемый программой) обход полей ввода на форме.
Мышка для VWT это все же "эрзац".
Возможно, есть смысл выбрать сразу GUI (графику с мышкой), если тип задачи этого сильно требует.

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



Пост N: 86
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 28.02.15 21:25. Заголовок: petr707 пишет: есл..


petr707 пишет:

 цитата:
если тип задачи этого сильно требует.


Просто хочется под планшет интерфейс адаптировать, никогда с мышкой не требовалось работать...
А как открыть прием событий INKEY_ALL для prompt, get, achoice и tbrowse ?

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



Пост N: 125
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 28.02.15 22:54. Заголовок: EVENTMASK


Поиск по EVENTMASK в этой конфе даст наводки. И смотрите примеры PRG из комплекта поставки Harbour

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



Пост N: 87
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 01.03.15 15:07. Заголовок: petr707 пишет: В пр..


petr707 пишет:

 цитата:
В пределах одного окна - только один размер.



Видимо все же можно выводить другой шрифт с помощью Wvt_DrawLabel

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




Пост N: 4569
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.03.15 21:46. Заголовок: MIKHAIL Если время ..


MIKHAIL
Если время есть и желание то конечно лучше все делать в GUI. Согласен с Петром.

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



Пост N: 103
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 31.08.15 06:28. Заголовок: Можно ли запустить н..


Можно ли запустить на выполнение программу без открытия окна? Или в скрытом режиме, либо в трее ?

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



Пост N: 146
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 31.08.15 07:22. Заголовок: Можно


Нужно уточнить нужные условия запуска - зачем без окна ? Чтобы картинка не мелькала ?
Задачу, свернутую в трей, оператор может поднять и снять(удалить).

1) Запуск от любой обертки вида START ..c параметрами , RUNAS и т.д.
2) По Заданию планировщика Windows - разовому или постоянно существующему, особенно если от другого профиля
3) Написать на Harb свой запускатель с нужными свойствами
4) Окно может быть, но быть невидимым. Это устроит ?

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




Пост N: 5260
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 31.08.15 08:35. Заголовок: MIKHAIL пишет: Мож..


MIKHAIL пишет:

 цитата:

Можно ли запустить на выполнение программу без открытия окна?


Да , как сервис.

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



Пост N: 367
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 31.08.15 15:53. Заголовок: Тоже без окна do wh..


Тоже без окна

do while .T.
бла-бла-бла
sysrefresh()
enddo

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



Пост N: 104
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 02.09.15 17:16. Заголовок: petr707 пишет: Нужн..


petr707 пишет:

 цитата:
Нужно уточнить нужные условия запуска - зачем без окна ?



Головная программа будет запускать на выполнение вспомогательную программу, работа с интерфейсом которой не нужна совсем, а выполняться она может некоторое время и само по себе окно может мешать или кто то попробует его закрыть. Поэтому нужно его как то скрыть от пользователя.

Dima пишет:

 цитата:
Да , как сервис.


А вчем принципиальная разница от обычного приложения и как это реализовано? Какие управляющие команды запускают программу как сервис?

fil пишет:

 цитата:
do while .T.
бла-бла-бла
sysrefresh()
enddo



Не совсем понял в чем тут соль? я так понимаю это для MiniGUI что то? У меня консольная программа.

Хотелось бы просто как то отключить консоль, что бы небыло окна

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



Пост N: 809
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.09.15 17:46. Заголовок: MIKHAIL пишет:Хотело..


MIKHAIL пишет:
 цитата:
Хотелось бы просто как то отключить консоль, что бы небыло окна


Не делайте команд (функций) очистки и вывода на экран - окна консоли не будет, т.е. CLS, CLEAER SCREEN, Say .., ? ...

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



Пост N: 105
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 03.09.15 11:09. Заголовок: SergKis Спасибо..


SergKis Спасибо

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



Пост N: 106
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 13.09.15 14:06. Заголовок: Собираю проект, выда..


Собираю проект, выдает такую ошибку:
Compiling 'nakl.prg'...
nakl.prg(4211) Error E0001 Illegal character '\x00'
nakl.prg(4211) Error E0030 Syntax error "syntax error at ''"
2 errors

смотрю файл:
4210:return ret
4211:
4212:
4213:func get_gtd(cl,gt,x,y)

что ему не нравиться?
строки удалял и добавлял, смещается ссылка ошибки на номер строки и все. В clipper все без проблемм собирается.

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




Пост N: 4519
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.09.15 14:19. Заголовок: MIKHAIL пишет: что ..


MIKHAIL пишет:

 цитата:
что ему не нравиться?


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

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




Пост N: 5278
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.09.15 15:14. Заголовок: MIKHAIL пишет: nakl..


MIKHAIL пишет:

 цитата:
nakl.prg(4211) Error E0001 Illegal character '\x00'


Была похожая штука.
Это у тебя вкрался левый символ.
С помощью редактора FAR manager , посмотри файл в разных кодировках и увидишь бяку.

Например:
Текст набран в кодировке OEM (866) и не компилится , переключаемся в кодировку ANSI (1251) ,
наблюдаем левый символ(ы) , валим их(его) , возвращаемся в кодировку OEM (866) , и всё прекрасно
компилится.


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



Пост N: 107
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 13.09.15 17:30. Заголовок: Dima пишет: Текст н..


Dima пишет:

 цитата:
Текст набран в кодировке OEM (866) и не компилится , переключаемся в кодировку ANSI (1251) ,
наблюдаем левый символ(ы) , валим их(его) , возвращаемся в кодировку OEM (866) , и всё прекрасно
компилится.



Точно, открыл в другом редакторе, увидел, удалил все нормуль. Спасибо.

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



Пост N: 149
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 13.09.15 17:58. Заголовок: Вызов без окна..


Использую EXECANDWAIT отсюда click here
и hb_processRun


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



Пост N: 108
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 15.09.15 09:17. Заголовок: ───..


────────────────────────────────────────────────────
Странная ошибка вылезает при работе через ADS:

Error ADSNTX/5068 Error 5068: There is no current record.
Called from TBROWSE:READRECORD(0)
Called from TBROWSE:STABILIZE(0)

При выводе объекта Tbrowse. При чем она как то не постоянно, один и тот же документ может отобразить без ошибки, а потом выводит несколько строк и начинает выдавать эту ошибку. при игнорировании ее выводит еще несколько строк и так далее пока не выведет все. При чем когда она начинает появляться где либо в программе, так же появляется и в других объектах, которые до этого нормально выводились.

ADS 7 Novell 6.5 по IPX

В Clipper эта-же база работает без ошибок.

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




Пост N: 5286
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.09.15 09:21. Заголовок: MIKHAIL пишет: Erro..


MIKHAIL пишет:

 цитата:
Error ADSNTX/5068 Error 5068: There is no current record


индекс пересоздавал ?

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



Пост N: 109
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 15.09.15 11:47. Заголовок: Dima пишет: индекс ..


Dima пишет:

 цитата:
индекс пересоздавал ?



Да

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



Пост N: 110
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 27.10.15 08:28. Заголовок: Как можно управлять ..


Как можно управлять выводом лога ошибок программы?

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


Пост N: 1173
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 27.10.15 08:35. Заголовок: MIKHAIL пишет: Как ..


MIKHAIL пишет:

 цитата:
Как можно управлять выводом лога ошибок программы?


Посмотрите в исходниках Харбора файл errsys.prg


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




Пост N: 5326
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.10.15 11:33. Заголовок: MIKHAIL пишет: Как ..


MIKHAIL пишет:

 цитата:
Как можно управлять выводом лога ошибок программы?


Set( _SET_HBOUTLOG[, <cFileName>] ) -> <cOldFileName>

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



Пост N: 111
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 27.10.15 12:23. Заголовок: Dima а у меня вообще..


Dima а у меня вообще при ошибке выполнения, файл лога не создается. Что нужно добавить в код?

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




Пост N: 5327
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.10.15 13:57. Заголовок: MIKHAIL Проверил у ..


MIKHAIL
Проверил у себя , таки да , не создается лог в случае падения.

PS
Можно вот так xhb_errorsys() где то в самом начале проги.

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



Пост N: 112
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 27.10.15 19:06. Заголовок: Dima Так работает н..


Dima
Так работает но имя лога не меняется.

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




Пост N: 5328
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.10.15 19:15. Заголовок: MIKHAIL Пробуй XHB_..


MIKHAIL
Пробуй XHB_ERRORLOG( [<cFileName>], [<lAppend>] ) -> { cOldName, lOldAppend }

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



Пост N: 160
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 27.10.15 19:27. Заголовок: hb_out.log - только Internal Errors


Насколько помню, в hb_out.log пишутся только серьезные внутренние ошибки,
которые нельзя перехватить в ERRSYS.PRG.

Можно взять к себе текст ERRORSYS() из ..\src\rtl\errsys.prg
и модицировать у себя выводом в нужный файл-лог

Можно даже взять ERRORSYS из Clipper

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



Пост N: 113
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 28.10.15 15:42. Заголовок: Как можно сделать ра..


Как можно сделать разбор XML файла? где можно список функций и описание почитать?

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




Пост N: 5329
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.10.15 15:44. Заголовок: MIKHAIL Начни с htt..

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





Пост N: 310
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 30.10.15 20:31. Заголовок: MIKHAIL пишет: Как ..


MIKHAIL пишет:

 цитата:
Как можно сделать разбор XML файла? где можно список функций и описание почитать?


Мои соболезования... Самому пришлось с 20.09.15 с нуля изучать данную "тему", в связи с появлением ЕГАИС в розничной торговле - в теории, на примитивных примерах всё кажется понятным, а в более сложных задачах

1. По документации есть классы TXML*, которые позволяют парсить и собирать хмл файлы, к данным классам приведено множество примеров использования переменных и методов - это наверное АЗБУКА. На "импортных" форумах в основном "разжовывают" примеры к этим классам

2. Реальность. Мной в процессе освоения данной темы создана и развивается программа. При изучении тщательно описывал в тексте программы нюансы и "засады" данных классов для xHarbour. Ее (программы) исходные текста, примеры разбираемых и порождаемых хмл файлов выложены для первого релиза на "странице" программы: http://olegon.ru/showthread.php?t=23079 - можете использовать для освоения... съэкономите кучу времени


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



Пост N: 118
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 10.11.15 15:17. Заголовок: Так и не смог понять..


Так и не смог понять откуда возникает ошибка Error ADSNTX/5068 Error 5068: There is no current record
Она появляется только под Harbour +ADS (Local или Remote), при чем под Harbor+DBFNTX и Clipper+ADS все работает без проблемм...
У кого есть какой то опыт на этот счет?
Появляется в момент перемещения например dbseek() или dbgoto()... при чем не всегда...
Может ADS + Harbour отслеживает выполнение set relations более строго чем для clipper ?

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



Пост N: 162
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 10.11.15 16:02. Заголовок: "Плохой" индекс ?


Похоже на поведение при индексе , который не соответствует таблице.
Есть индексные выражения из связанных по relation областей ?
Сделайте проверку индекса после свала.

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



Пост N: 119
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 10.11.15 17:29. Заголовок: petr707 пишет: Похо..


petr707 пишет:

 цитата:
Похоже на поведение при индексе , который не соответствует таблице.
Сделайте проверку индекса после свала.



Так дело в том что с одной базой работают приложение на Clipper и та же самая переведенная на Harbour. Так вот Clipper ведет себя нормально
Причем тестил как на ADS7+Novell IPX так и на ADS10+Linux IP, везде одна борода... даже на LocalAds это происходит

petr707 пишет:

 цитата:
Есть индексные выражения из связанных по relation областей ?



Да, есть, буду пробовать их отключать, но больно муторно выискивать где нужно будет править код....

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



Пост N: 163
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 10.11.15 17:46. Заголовок: Одновременная работа Clipper app и Harbour app ?


.. работают приложение на Clipper и та же самая переведенная на Harbour..

Одновременно ? Лучше не делать.
Переправу надо перейти.

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



Пост N: 120
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 10.11.15 17:56. Заголовок: petr707 пишет: Одно..


petr707 пишет:

 цитата:
Одновременно ? Лучше не делать.


Так и отдельно, без Clipper приложений тот же косяк...

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



Пост N: 164
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 10.11.15 21:48. Заголовок: Как найти глюк ?


Старый способ - контрольная группа - хоть в биологии хоть в космонавтике

1) Сделать тестовую среду как копию (реплику) основной БД
2) Провести полную начальную индексацию
3) использовать только новый софт
4) повторять все проводки как в рабочей базе со старым софтом
5) после первого свала - всем стоп
6) ну и изучайте по всем срезам состояние этого контрольного примера


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




Пост N: 3352
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.11.15 09:08. Заголовок: Ads имеет два клиент..


Ads имеет два клиента: старый клипперовский 16-разрядный, и Ace. Они работают не одинаково.
Проблема может быть именно в ace, даже не в харборе.

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




Пост N: 5343
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.11.15 15:04. Заголовок: вообще у меня была с..


вообще у меня была связка Clipper+ADS и Harbour+ADS
обе проги юзали одну и ту же базу.
версии ADS (ACE и для Clipper) были 5.5 и работало нормально

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



Пост N: 121
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 11.11.15 19:03. Заголовок: Скорее всего моя дог..


Скорее всего моя догадка была правильной, клиент под Харбор проверяет соответствие выполнения set relation, если передвинуть в связаной таблице на другую запись, будет эта ошибка. Убрал все relations пока полет нормальный...

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




Пост N: 5344
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.11.15 22:21. Заголовок: MIKHAIL Сделай тест..


MIKHAIL
Сделай тестовый не большой пример.

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



Пост N: 122
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 12.11.15 11:21. Заголовок: Dima пишет: Сделай ..


Dima пишет:

 цитата:
Сделай тестовый не большой пример.


USE TABLE1 INDEX TABLE1
USE TABLE2
SET RELATIONS TO KOD INTO TABLE1
DBGOTO(10)

далее если делать перемещение по table1 из текущей активной области, где значение индексного
выражения не равно значению TABLE2->KOD, будет ошибка ADS 5068
т.е. например
table1->(dbgoto(n))
table1->(dbseek(n))





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



Пост N: 124
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 12.11.15 13:11. Заголовок: Как использовать фун..


Как использовать функцию AdsIsConnectionAlive() ?

ADSHANDLE:=AdsConnect(cPath)
? AdsIsConnectionAlive(ADSHANDLE) // .F.

ADSHANDLE:=AdsConnection(cPath)
? AdsIsConnectionAlive(ADSHANDLE) // .F.

ADSHANDLE:=AdsConnect60(cPath)
? AdsIsConnectionAlive(ADSHANDLE) // .F.

Что не так?

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




Пост N: 5345
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 13:25. Заголовок: MIKHAIL пишет: ADSH..


MIKHAIL пишет:

 цитата:
ADSHANDLE:=AdsConnect(cPath)



Не верно ловишь хендл
Лови его так ADSHANDLE:=AdsConnection()
после AdsConnect(cPath) если он вернет TRUE

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



Пост N: 125
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 12.11.15 14:31. Заголовок: Dima пишет: Лови ег..


Dima пишет:

 цитата:
Лови его так ADSHANDLE:=AdsConnection()
после AdsConnect(cPath) если он вернет TRUE



Не получается:
? AdsConnect(cPath) // .T.
ADSHANDLE:=AdsConnection()
? AdsIsConnectionAlive(ADSHANDLE) // .F.

Чего то ей не хватает.

Еще вопрос по AdsMgGetUserNames ()
Она выдает массив с информацией о пользователях несколько раз об одних и тех-же подключениях.
С чем это может быть связано?


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




Пост N: 5346
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 14:55. Заголовок: MIKHAIL пишет: ADSH..


MIKHAIL пишет:

 цитата:
ADSHANDLE:=AdsConnection()


что вернуло тут ?

какой тип подключения (ADS_LOCAL_SERVER , ADS_REMOTE_SERVER, ADS_AIS_SERVER ) ?

IPX/SPX , TCP/IP ?

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




Пост N: 5347
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 15:02. Заголовок: MIKHAIL пишет: Еще ..


MIKHAIL пишет:

 цитата:
Еще вопрос по AdsMgGetUserNames ()
Она выдает массив с информацией о пользователях несколько раз об одних и тех-же подключениях.
С чем это может быть связано?


Возможно отвалилась связь с ADS а коннект живет по умолчанию 120 сек.
Или не совсем верно завершаешь программу. В конце вставь перед QUIT
AdsDisconnect(ТВОЙ ХЕНДЛ)
AdsApplicationExit()



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



Пост N: 126
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 12.11.15 15:04. Заголовок: Dima пишет: что вер..


Dima пишет:

 цитата:
что вернуло тут ?
какой тип подключения (ADS_LOCAL_SERVER , ADS_REMOTE_SERVER, ADS_AIS_SERVER ) ?
IPX/SPX , TCP/IP ?



LINUX TCP/IP ADS_REMOTE_SERVER

? ADSHANDLE:=AdsConnection() // 3966024


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




Пост N: 5348
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 15:06. Заголовок: MIKHAIL пишет: LINU..


MIKHAIL пишет:

 цитата:
LINUX TCP/IP ADS_REMOTE_SERVER


с этим зверем не работал
с сервером вынь AdsIsConnectionAlive работает нормально
попробуй в ADS.INI в секции [SETTINGS]
прописать
USE_TCP_IP=1

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


Пост N: 689
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.11.15 16:42. Заголовок: MIKHAIL пишет: Чего..


MIKHAIL пишет:

 цитата:
Чего то ей не хватает.



версия сервера какая ?
 
HB_FUNC( ADSISCONNECTIONALIVE ) /* Determine if passed or default connection is still valid */
{
#if ADS_LIB_VERSION >= 800
UNSIGNED16 bConnectionIsAlive = 0;

AdsIsConnectionAlive( HB_ADS_PARCONNECTION( 1 ), &bConnectionIsAlive );

hb_retl( bConnectionIsAlive != 0 );
#else
hb_retl( HB_FALSE );
#endif
}


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




Пост N: 5349
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 17:21. Заголовок: Haz пишет: версия с..


Haz пишет:

 цитата:
версия сервера какая ?


Хороший вопрос

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



Пост N: 127
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 12.11.15 17:27. Заголовок: Haz пишет: версия с..


Haz пишет:

 цитата:
версия сервера какая ?



LINUX 10.03

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




Пост N: 5350
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 18:03. Заголовок: MIKHAIL пишет: LINU..


MIKHAIL пишет:

 цитата:
LINUX 10.03


Это версия ADS под LINUX или версия LINUX ?

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



Пост N: 128
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 12.11.15 18:19. Заголовок: Это версия ADS под L..


Это версия ADS под LINUX

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




Пост N: 5352
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.15 18:22. Заголовок: MIKHAIL Можно попро..


MIKHAIL
Можно попробовать "покурить" их форум на предмет ADSISCONNECTIONALIVE + LINUX
http://devzone.advantagedatabase.com/dz/content.aspx?

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


Пост N: 690
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.11.15 10:35. Заголовок: Dima пишет: LINUX 1..


MIKHAIL пишет:

 цитата:
LINUX 10.03


а клиентская часть ( DLL на компе пользователя ) тоже версии 10 ?
там есть adsver.exe - проверь на всякий случай

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



Пост N: 129
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 13.11.15 17:47. Заголовок: Haz пишет: а клиент..


Haz пишет:

 цитата:
а клиентская часть ( DLL на компе пользователя ) тоже версии 10 ?
там есть adsver.exe - проверь на всякий случай


Эта утилита показывает версию клиентской DLL, ее можно просто в свойствах файла увидеть, версии совпадают 10.0.0.3
ADS 64 и Linux 64 разрядный

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


Пост N: 691
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.11.15 18:00. Заголовок: Установи тестовый A..


Установи тестовый ADS Server под WIN , хотя бы на своем компе и проверь AdsIsConnectionAlive() там.
у меня подключение такое ( сервер под win64 клиент под win32 )

adsConnect60( сDict, nServerType, cUser, cUserPass, 0, @hConnection )
AdsIsConnectionAlive(hConnection) дает .T.





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




Пост N: 5353
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.11.15 18:07. Заголовок: Haz пишет: adsConne..


Haz пишет:

 цитата:
adsConnect60( сDict, nServerType, cUser, cUserPass, 0, @hConnection )
AdsIsConnectionAlive(hConnection) дает .T.


Не запутывай человека словарями . При обычном коннекте у меня тоже работает AdsIsConnectionAlive.

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



Пост N: 130
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 13.11.15 18:11. Заголовок: А нужно какие значе..



А нужно какие значения прописывать для сDict, nServerType, cUser, cUserPass, hConnection ?

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


Пост N: 692
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.11.15 18:13. Заголовок: Dima пишет: Не запу..


Dima пишет:

 цитата:
Не запутывай


я как пример привел, и в мыслях не было путать )))
MIKHAIL пишет:

 цитата:
версию клиентской DLL, ее можно просто в свойствах файла увидеть


возможно и так , не проверял. А по чеснаку она в текстовом виде в файле сразу после строки EsIAx!@# которую ADS использует как заголовок регистрационной информации.

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




Пост N: 5354
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.11.15 18:14. Заголовок: MIKHAIL Ставь вот э..


MIKHAIL
Ставь вот эту версию _http://devzone.advantagedatabase.com/dz/content.aspx?key=20&Release=16&Product=25&Platform=10
(последнюю 10.x)
Там столько багов устранено по сравнению 10.03 в том числе и с индексами.

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


Пост N: 693
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.11.15 18:15. Заголовок: Haz пишет: А нужно ..


MIKHAIL пишет:

 цитата:
А нужно какие значения прописывать для сDict, nServerType, cUser, cUserPass, hConnection ?


это параметры конекта к словарю данных , пример тута
https://github.com/harbour/core/blob/master/contrib/rddads/tests/datad.prg

Дима посоветовал проще , без словаря обычным AdsConnect( в путь)

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



Пост N: 131
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 11:31. Заголовок: Попробовал по разном..


Попробовал по разному, под WIN32XP и ServerR8 64 на ADS 10.10 и ADS 9.10 и Linux 64 ADS64 10.10, везде функция выдает .F.
Причем соединение с сервером устанавливается даже по AdsIsServerLoaded(), поэтому у меня были множественные соединения из одной программы.

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




Пост N: 5355
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 11:40. Заголовок: MIKHAIL Попробуй те..


MIKHAIL
Попробуй тест (у меня работает)

 
Proc main
local adshandle:=0

AdsSetServerType(2)

if AdsConnect("c:\")
adshandle:=AdsConnection()
? AdsIsConnectionAlive(adshandle)
endif

return


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



Пост N: 132
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 11:53. Заголовок: Dima пишет: if A..


Dima пишет:

 цитата:
if AdsConnect("c:\")
adshandle:=AdsConnection()
? AdsIsConnectionAlive(adshandle)
endif


у меня все равно выдает .F.
Может какие то установки или настройки ADS нужны?

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




Пост N: 5356
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 12:35. Заголовок: MIKHAIL а если этот..


MIKHAIL
а если этот тест запустить непросредственно на винсервере r8 64 , где живет ADS.

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


Пост N: 694
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.11.15 12:40. Заголовок: MIKHAIL пишет: Попр..


MIKHAIL пишет:

 цитата:
Попробовал по разному, под WIN32XP и ServerR8 64 на ADS 10.10 и ADS 9.10 и Linux 64 ADS64 10.10, везде функция выдает .F.



1 Поставь ADS Server на СВОЙ комп ( на котором запускаешь тестовую программу от Димы )
2 убедись что на компе в системной папке винды , в путях поиска и в папке с тестом не было старых версий DLL от ADS
потом проверь тест который дал Дима

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




Пост N: 5357
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 13:07. Заголовок: MIKHAIL Что выдает ..


MIKHAIL
Что выдает
? AdsVersion(3)

у меня
Advantage 32-bit Client Engine for Windows, v10.1

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



Пост N: 133
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 13:50. Заголовок: Dima пишет: ? AdsVe..


Dima пишет:

 цитата:
? AdsVersion(3)

Advantage 32-bit Client Engine for Windows, v10.10

Тестил на своем и на сервере, везде одно и тоже


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




Пост N: 5358
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 14:25. Заголовок: MIKHAIL Да уж , пол..


MIKHAIL
Да уж , полтергейст какой то ))
А RddAds переcобирал c новым ACE ?

ps
может файер что то блочит........

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



Пост N: 134
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 14:55. Заголовок: Dima пишет: А RddAd..


Dima пишет:

 цитата:
А RddAds переcобирал c новым ACE ?


Я пока не очень разбираюсь в этом, подскажите как это сделать пошагово?

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




Пост N: 5359
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 14:58. Заголовок: MIKHAIL пишет: Я по..


MIKHAIL пишет:

 цитата:
Я пока не очень разбираюсь в этом, подскажите как это сделать пошагово?


компилятор BCC или MINGW ?
сырцы Harbourа есть ?

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



Пост N: 135
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 15:01. Заголовок: BCC, сырцы есть..


BCC, сырцы есть

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




Пост N: 5360
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 15:07. Заголовок: MIKHAIL Следующий б..


MIKHAIL
Следующий батник ложим в папку с сырцами RDDADS
У меня они тут C:\svn\harbour-trunk\harbour\contrib\rddads\
Пути поправь на свои
 
set PATH=C:\bcc55\bin
set HB_INSTALL_PREFIX=c:\hb32
set HB_DIR_ADS=C:\ads.10.10\acesdk
set HB_WITH_ADS=C:\ads.10.10\acesdk
c:\hb32\bin\hbmk2 rddads.hbp



Стартуем батник , после его работы в этой папке видим 2 новых файла
rddads.lib и ace32.lib
Копируем их куда нужно (папка LIB Харбора)

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


Пост N: 695
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.11.15 15:31. Заголовок: MIKHAIL Dima пишет..


MIKHAIL

Dima пишет:

 цитата:
Следующий батник ложим в папку с сырцами RDDADS
У меня они тут C:\svn\harbour-trunk\harbour\contrib\rddads\



а взять их можно тут
http://github.com/harbour/core/archive/master.zip

ЗЫ в принципе заведомо рабочие библиотеки можно взять с этого форума , скачав здесь MiniGui и установив. там в поставке идут эти библиотеки

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



Пост N: 136
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 15:57. Заголовок: Собрал, все заработа..


Собрал, все заработало!

Еще мне не понятно отличие функций AdsMg***
Мне нужно получить список пользователей, а при AdsConnect() функция AdsMgGetUserName() не работает, приходится использовать AdsMgConnect(), но при этом получается несколько соединений к ADS от одного пользователя. И как узнать свое собственное подключение в списке ?

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




Пост N: 5361
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 16:34. Заголовок: MIKHAIL пишет: AdsM..


MIKHAIL пишет:

 цитата:
AdsMg***


Для всех этих функций нужен AdsMgConnect()

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




Пост N: 5362
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 16:40. Заголовок: MIKHAIL пишет: И к..


MIKHAIL пишет:

 цитата:
И как узнать свое собственное подключение в списке ?


По имени компа

 
AdsMgConnect()
if ADSMGGETHANDLE()>0
aRay := AdsMgGetUserNames()
FOR j=1 TO Len( aRay )
if aray[j][1]==netname(1) // netname(1) лучше заюзать где то в начале проги и запомнить результат
? "Это я :)"
exit
endif
NEXT
endif
AdsMgDisconnect()


При одиночном коннекте AdsConnection + AdsMgConnect
Массив выглядит примерно так
 
{{"MYCOMP", 0, "IPC Connection 2", "", "dima", "0.0.0.0"}, {"MYCOMP", 0, "IPC Connection 3", "", "dima", "0.0.0.0"}}


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



Пост N: 137
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 14.11.15 17:24. Заголовок: Спасибо всем огромно..


Спасибо всем огромное!!! Буду дальше разбираться

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




Пост N: 5363
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.15 20:46. Заголовок: MIKHAIL На заметку ..

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



Пост N: 138
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 19.11.15 18:53. Заголовок: Иногда (редко) подви..


Иногда (редко) подвисает программа, не реагирует ни на что. Хотя иногда может и отвиснуть. Как отследить в чем проблемма?
Код работал на Clipper много лет.

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




Пост N: 5369
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.11.15 19:05. Заголовок: MIKHAIL По сети раб..


MIKHAIL
По сети работает или локально ?
Виснет в разных местах ?
Какая ось на станции ?

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



Пост N: 139
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 20.11.15 15:12. Заголовок: Dima причина оказала..


Dima причина оказалась в железе, USB порт клавиатуры видно подглючивал.

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



Пост N: 140
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 20.11.15 18:20. Заголовок: Не полностью выдает ..


Не полностью выдает детализацию ошибки, а именно номер строки ошибки. Выводит только номер строки функции где произошла ошибка. Как подправить?

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




Пост N: 5370
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.11.15 18:40. Заголовок: MIKHAIL пишет: Не п..


MIKHAIL пишет:

 цитата:
Не полностью выдает детализацию ошибки


Покажи на простом примере , что имеется в виду.

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



Пост N: 141
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 20.11.15 21:43. Заголовок: Dima пишет: Покажи ..


Dima пишет:

 цитата:
Покажи на простом примере , что имеется в виду.




 цитата:

-------------------- Internal Error Handling Information ---------------------

Subsystem Call ....: BASE
System Code .......: 1133
Default Status ....: .F.
Description .......: Bound error
Operation .........: array assign
Arguments .........: [ 1] = Type: N Val: 14
Involved File .....:
Dos Error Code ....: 0

Trace Through:
----------------
LOGERROR : 0 in Module: xhb\xhberr.prg
MAGAZIN : 432 in Module: magazin.prg



Строка 432 это ссылка на функцию, в которой тоже несколько тысяч строк кода, где собственно и происходит ошибка.

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




Пост N: 5371
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.11.15 22:23. Заголовок: MIKHAIL Да вроде вс..


MIKHAIL
Да вроде все красиво.
 
Proc main
Test()
return
*************
Func Test()
local a:={}
a[1]:=1
return nil


Вывалило у меня так
 
Error BASE/1133 Bound error: array assign
Called from TEST(7)
Called from MAIN(2)


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


Пост N: 1176
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.11.15 22:28. Заголовок: MIKHAIL, у тебя - xH..


MIKHAIL, у тебя - xHarbour. Видимо, собран с опцией "suppress line numbers". Вот отсюда нули в модулях самого xHarbour

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



Пост N: 142
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 21.11.15 12:37. Заголовок: Dima Так дело в том ..


Dima Так дело в том что иногда отображает номер строки ошибки, а иногда нет.
т.е. некоторые ошибки такие как:
i:=1
len(i)
выведет правильно номер строки, а такую:
i:=1
? i[1]
не выводит.

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





Пост N: 479
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 23.11.15 23:52. Заголовок: Судя по выкладке, ис..


Судя по выкладке, используется нестандартный обработчик ошибок.
Попробуйте на время тестирования заменить xhb/xhberr.prg на простой и дубовый errorsys.prg из дистрибутива и посмотреть на его результаты.

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



Пост N: 143
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 01.12.15 15:32. Заголовок: Sergy пишет: на про..


Sergy пишет:

 цитата:
на простой и дубовый errorsys.prg из дистрибутива



Я чего то не могу найти его в дистрибутиве. Может по другому называется? Пробовал от Clipper прикомпоновать, но он не замещает почему то встроенный. Что для этого нужно сделать ? Мне по сути нужно лог ошибок сохранять.

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




Пост N: 5385
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.12.15 15:35. Заголовок: MIKHAIL пишет: Може..


MIKHAIL пишет:

 цитата:
Может по другому называется?


ERRSYS.PRG теперь

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



Пост N: 144
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 05.12.15 17:01. Заголовок: Где можно взять или ..


Где можно взять или приобрести Fastreport ?

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


Пост N: 1178
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.12.15 17:13. Заголовок: MIKHAIL пишет: Где ..


MIKHAIL пишет:

 цитата:
Где можно взять или приобрести Fastreport ?


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

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




Пост N: 5393
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.12.15 17:17. Заголовок: PSP пишет: Так что,..


PSP пишет:

 цитата:
Так что, видимо, купить уже негде


У нас на форуме еще есть добрые джентльмены , которые думаю поделятся бесплатно.

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



Пост N: 165
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 05.12.15 17:51. Заголовок: Fastreport


Fastreport , строго говоря, это несколько другое.
Сергей предоставлял FRH библиотеку-обертку для Harbour для работы с FastReport VCL
Сам FastReport убежал вперед.

Были еще попытки сделать Fastreport for Harbour ,
например click here
FastReport for [x]Harbour.
Libraries to manage FastReport from Harbour and xHarbour and on any GUI framework or even in console mode. FastReport vesion 4.15

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



Пост N: 145
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 25.02.16 11:30. Заголовок: Какими средствами мо..


Какими средствами можно перехватывать все нажатия клавиш и экранного вывода в консольном приложении?

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




Пост N: 5487
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.02.16 11:40. Заголовок: MIKHAIL пишет: Каки..


MIKHAIL пишет:

 цитата:
Какими средствами можно перехватывать все нажатия клавиш


hb_gtInfo( HB_GTI_INKEYFILTER.....

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



Пост N: 149
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 25.03.16 11:39. Заголовок: Использую библиотеку..


Использую библиотеку FreeImage, все работало, добавил некоторые функции, Харбор их не видит:
fi_GetFIFFromFilename и fi_FIFSupportsReading
что нужно сделать ?

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



Пост N: 159
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 18.08.16 17:13. Заголовок: Можно ли в консольно..


Можно ли в консольной версии расширить палитру стандартных цветов?

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




Пост N: 5970
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.08.16 17:27. Заголовок: MIKHAIL Думаю нет (..


MIKHAIL
Думаю нет (ИМХО)

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



Пост N: 161
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 18.10.16 12:31. Заголовок: Как можно подключить..


Как можно подключить сторонюю библиотеку DLL ?
Пробовал hb_LibLoad("payCEB.dll") Она возвращает пустой результат, т.е. не загружается.
В описании библиотеки написано - Стандарт вызова функций: stdcall

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



Пост N: 193
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 18.10.16 13:04. Заголовок: Как то пробовал напр..


Как то пробовал напрямую включать dll в HBMK и все нормально собралось и отработало.

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




Пост N: 6054
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.10.16 13:33. Заголовок: MIKHAIL hb_DynCall..


MIKHAIL
hb_DynCall

Например
 
#include "hbdyn.ch"

FUNCTION MAIN(cSource, cDest)

hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 )

RETURN NIL


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



Пост N: 162
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 18.10.16 18:16. Заголовок: Dima пишет: hb_DynC..


Dima пишет:

 цитата:
hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 )


А эта функция возвращает ответ вызываемой функции?
И как обрабатывать ошибки?

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




Пост N: 6057
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.10.16 21:30. Заголовок: Да что то возвращает..

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



Пост N: 2
Зарегистрирован: 01.04.17
ссылка на сообщение  Отправлено: 01.04.17 21:04. Заголовок: Занялся переносом на..


Занялся переносом на консольный xHarbour средних размеров проекта( ~ 800к исходников).

Не находит 11 функций из состава СT
NNETLOGGED
NNETCAPACT
NNETSETQ
NNETCAPSSF
NNETCAPBEG
SPOOLACTIV
SPOOLADD
PRINTINIT
BIOSDATE
STACKFREE
FILECHECK

На что можно заменить или где взять более полную библиотеку ?

Поиск по либам как советовали в теме http://clipper.borda.ru/?1-4-0-00000255-000-0-0-1334307608 не приносит результатов за исключением
функции STACKFREE которая находитмя в vm.lib vm.lib у меня и до поиков линкновалась
Версия xHarbour xHarbour Binaries 1.2.3 Rev. 10193 for BCC 5.5.1

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


Пост N: 1297
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.04.17 21:46. Заголовок: Mitek пишет: Занялс..


Mitek пишет:

 цитата:
Занялся переносом на консольный xHarbour


А почему не Harbour?

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



Пост N: 3
Зарегистрирован: 01.04.17
ссылка на сообщение  Отправлено: 01.04.17 22:20. Заголовок: PSP пишет: А почему..


PSP пишет:

 цитата:
А почему не Harbour?

А собственно просто уже лет этак много xHarbour пользую но до сего древнейшего проекта все руки не доходили.
Но собственно сути это не меняет... на harbour без X в оригинальных поставках я этих функций тоже не вижу... например в harbour-3.0.0-win

Пока в голову только идет переопределить
SPOOLACTIV - #xtranslate SPOOLACTIV()=> .F.
SPOOLADD - #xtranslate SPOOLADD()=> .F.

BIOSDATE почитать из реестра - #xtranslate BIOSDATE()=>CTOD ( GetRegistry(, 'HARDWARE\Description\System\BIOS', 'BIOSReleaseDate' ) )
ну или для Harbour - #xtranslate BIOSDATE()=> CTOD( win_regRead( "HKLM\HARDWARE\Description\System\BIOS\BIOSReleaseDate" ) )

STACKFREE - #xtranslate STACKFREE()=> 1000000

FILECHECK через md5 - #xtranslate FILECHECK(<cFileName>) => HB_MD5FILE(<cFileName>)

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


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


Пост N: 1298
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 02.04.17 09:37. Заголовок: В harbour есть библа..


В harbour есть библа hbct. Посмотрите.

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



Пост N: 4
Зарегистрирован: 01.04.17
ссылка на сообщение  Отправлено: 02.04.17 21:45. Заголовок: PSP Да смотрел я на ..


PSP Да смотрел я на эту библу еще пару лет назад и что . Нет там этих функций собственно так же как и в ее аналоге от xHarbour - CT.lib

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


Пост N: 1299
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.04.17 12:43. Заголовок: А так уж эти функции..


А так уж эти функции все нужны? К примеру, NNet* предназначены для работы с Novell Netware. У вас используется сервер Novell Netware? Функция SPOOLACTIV - что-то связанное с печатью в DOS. Надо? Ну и т.д. Придется вам слегка код поправить.

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



Пост N: 164
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 29.04.17 19:39. Заголовок: совместимость индексов


Столкнулся с проблеммой. Перевел проект с Clipper 5.3 на Harbor 3.2 сервер NW + ADS7, пока отладка идет одновременно использую старую и новую версию программы. Обнаружил что индексы (ntx) по строке не корректно работают или не совместимы. Т.е. при создании индексов программой Clipper они не корректно отображаются в программе Harbora и с точностью наоборот. Странное дело, ведь индексы строит ADS. Длинна ключа в обеих случаях одинаковая. при этом DBFNTX драйвер работает корректно для обеих версий. Есть у кого мысли?

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




Пост N: 6399
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.04.17 15:39. Заголовок: MIKHAIL У меня была..


MIKHAIL
У меня была похожая связка под ADS 5.xx , индексы IDX , работало нормально.


PS
Изначально были какие то глюки (уже не помню подробности) , Павел тогда помог и что то переделал в RDDADS Harbour.

Dima пишет:

 цитата:
(уже не помню подробности)


Вроде связанное с кирилицей и 866 кодировкой

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



Пост N: 165
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 03.05.17 12:41. Заголовок: сборка


А есть какая то опция в компиляторе, что бы не весь проект заново собирался, а только измененные файлы? типа как в блинкере была инкрементальная сборка...

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


Пост N: 1306
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.05.17 12:45. Заголовок: MIKHAIL пишет: А ес..


MIKHAIL пишет:

 цитата:
А есть какая то опция в компиляторе, что бы не весь проект заново собирался, а только измененные файлы? типа как в блинкере была инкрементальная сборка...


hbmk2 имеет опцию -inc

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



Пост N: 166
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 04.05.17 12:39. Заголовок: Есть файл базы данны..


Есть файл базы данных товаров, порядка 100тыс. Как можно отследить что были изменены в ней определенные поля без полного сканирования ? Пробовал использовать время создания файла на диске, но видимо из за кэша, оно обновляется не сразу, если речь не идет о добавлении записей, dbcommit() не помагает.

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




Пост N: 6401
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.05.17 13:08. Заголовок: MIKHAIL можно ввест..


MIKHAIL
можно ввести еще одно поле TIMESTAMP и в случае изменения нужно поля писать в новое поле свежее значение

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




Пост N: 5364
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.05.17 14:09. Заголовок: Dima пишет: можно в..


Dima пишет:

 цитата:
можно ввести еще одно поле TIMESTAMP и в случае изменения нужно поля писать в новое поле свежее значение


Поле типа TIMESTAMP
 AADD( aDbf , {"TS"     ,"=",  8, 0 } ) // RDD-TimeStamp дата+время+миллисекунды

автоматом само меняет значение при изменение любого поля записи.

Наверное лучше использовать другой тип поля вот этот:
AADD( aDbf , {"IM"     ,"@",  8, 0 } ) // TimeStamp, заполняешь сам

и заполнять при изменении нужных тебе полей самостоятельно.


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



Пост N: 167
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 04.05.17 14:40. Заголовок: Andrey пишет: автом..


Andrey пишет:

 цитата:
автоматом само меняет значение при изменение любого поля записи.


это очень хороший вариант, если под NTX оно работает, проверю, спасибо!

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



Пост N: 168
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 08.05.17 08:16. Заголовок: Потребовалось пересо..


Потребовалось пересобрать DBU, у меня почему то нет патча для него DBU53.RTP, где его можно взять?

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


Пост N: 1456
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 08.05.17 09:06. Заголовок: Скачать архив См. e..


Скачать архив

См. extras\dbu

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




Пост N: 5382
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.05.17 20:00. Заголовок: MIKHAIL пишет: это ..


MIKHAIL пишет:

 цитата:
это очень хороший вариант, если под NTX оно работает, проверю, спасибо!


Скорее всего под NTX не заработает - это чисто MSFOX примочка, для Клипера и Харбора нужно переходить на CDX-драйвер !

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





Пост N: 533
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 10.05.17 00:26. Заголовок: Andrey пишет: Скор..


Andrey пишет:

 цитата:

Скорее всего под NTX не заработает - это чисто MSFOX примочка, для Клипера и Харбора нужно переходить на CDX-драйвер !


C точки зрения собственно DBF разницы между NTX и CDX нет никакой. Таблица вообще может быть одна, без соотв. индексного файла.
Поэтому "специфические" типы данных ("^", "@", "+", "=", "I:+" и тп) работают без проблем. Проверено.

И в целом, Viktor (или Przemek ) писал, что NTX/CDX - изнутри - одно и то-же. NTX занимает больше места на диске, но меньше в памяти. И наоборот - за счет того, что в ветвях дерева CDX используется компрессия, соотв. требуется чуть больше RAM и тактов процессора для декомпрессии сжатых данных.

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



Пост N: 169
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 11.05.17 11:08. Заголовок: Петр пишет: См. ext..


Петр пишет:

 цитата:
См. extras\dbu


нету там DBU53.RTP
Скрытый текст


Andrey пишет:

 цитата:
Скорее всего под NTX не заработает - это чисто MSFOX примочка, для Клипера и Харбора нужно переходить на CDX-драйвер !



работает DBFNX под Харбором, не работает под Clipper и под ADSNTX

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


Пост N: 1459
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.05.17 12:34. Заголовок: MIKHAIL пишет: нету..


MIKHAIL пишет:

 цитата:
нету там DBU53.RTP


Вот и я говорю, что нет никакого DBU53.RTP для [x]Harbour (так по моему раздел называется).

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



Пост N: 170
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 11.05.17 13:20. Заголовок: Петр пишет: Вот и я..


Петр пишет:

 цитата:
Вот и я говорю, что нет никакого DBU53.RTP для [x]Harbour (так по моему раздел называется).


Так как пропатчить файлы? Без патча у меня не собирается

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


Пост N: 1460
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.05.17 13:55. Заголовок: Там описано (readme...


Там описано (readme.txt)

Gnu Path (binaries) найдете здесь

Затем выполните команду patch -lNi dbu53.dif
и дальше hbmk2 dbu.hbp

Все.

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



Пост N: 171
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 15.05.17 15:50. Заголовок: Петр пишет: Затем в..


Петр пишет:

 цитата:
Затем выполните команду patch -lNi dbu53.dif
и дальше hbmk2 dbu.hbp



То ли я не понимаю вас, то ли вы не внимательно прочитали мой пост от 11.05
Я делаю по инструкции:
D:\HB\EXTRAS\DBU>patch -lNi dbu53.dif
────────────────────────────────────────────────────────────────────────
PATCH Version 2.03 - .RTPatch(R) - Software Update System
DOS and Windows Edition
(C) Copyright Pocket Soft, Inc., 1991-1994. All Rights Reserved.
────────────────────────────────────────────────────────────────────────

Could not find the Patch File 'DBU53.RTP'
Enter a New Name & Directory for the Patch File or
Press Enter to Quit ===>


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


Пост N: 1467
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 15.05.17 20:54. Заголовок: MIKHAIL пишет: Я де..


MIKHAIL пишет:

 цитата:
Я делаю по инструкции:
D:\HB\EXTRAS\DBU>patch -lNi dbu53.dif
────────────────────────────────────────────────────────────────────────
PATCH Version 2.03 - .RTPatch(R) - Software Update System
DOS and Windows Edition
(C) Copyright Pocket Soft, Inc., 1991-1994. All Rights Reserved.
────────────────────────────────────────────────────────────────────────

Could not find the Patch File 'DBU53.RTP'
Enter a New Name & Directory for the Patch File or
Press Enter to Quit ===>




Согласно инструкции 3 шаг выглядит так

 цитата:
3.) Apply supplied patch to the source using GNU Patch



GNU Patch, а не PATCH от (C) Copyright Pocket Soft


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



Пост N: 172
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 22.05.17 16:31. Заголовок: Как можно установить..


Как можно установить ограничение времени на простой в командах ожидания ввода данных такие как prompt, achoice, get... ?
Многие пользователи не завершают работу с программой, что приводит к затруднениям при обновлении, а с другой стороны, бывают технические работы по проверке данных, которые могут длительное время выполняться и должны быть завершены.

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


Пост N: 1475
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 22.05.17 22:47. Заголовок: MIKHAIL пишет: Как..


MIKHAIL пишет:

 цитата:

Как можно установить ограничение времени на простой в командах ожидания ввода данных такие как prompt, achoice, get... ?


В Harbour, как и в Clipper, стандартные обработчики не предусматривают ограничения времени.

 цитата:
Многие пользователи не завершают работу с программой, что приводит к затруднениям при обновлении


Проводите обновление при запуске программы или выходе из нее; реализуйте модуль обновления в виде отдельного приложения, реализуйте модуль обновления в виде отдельного потока - это все организационные мероприятия, выберите желаемую модель (f.e. обновление Opera, работа ccleaner с кэшем при запущенном браузере и т.п.), внесите изменения в ТЗ, утвердите у руководства/заказчика, реализуйте, внесите изменения в инструкцию пользователя и все будет Ок.
MIKHAIL пишет:

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


само собой и такое бывает. Мой любимый вопрос - и что?

P.S. и что? уточняю, каким образом реализация подобной функциональности зависит от того Clipper или Harbour используется?


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





Пост N: 543
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.05.17 23:59. Заголовок: MIKHAIL пишет: Как ..


MIKHAIL пишет:

 цитата:
Как можно установить ограничение времени на простой в командах ожидания ввода данных такие как prompt, achoice, get... ?
Многие пользователи не завершают работу с программой, что приводит к затруднениям при обновлении, а с другой стороны, бывают технические работы по проверке данных, которые могут длительное время выполняться и должны быть завершены.



Есть несколько вариантов:

1) Функция KeySec([<nKeyValue>,<nTime>, [<nCounter>], [<lMode>]]) → lActivated) - засовывает в буфер клавиатуры нужный код по истечении определенного времени. Например, K_ESC. Останется в программе организовать грамотную обработку, чтобы не задавала лишних вопросов юзеру.

2) hb_idleAdd( <bAction> ) → nHandle. Можно добавить любой блок кода, который будет вызван в ближайших циклах IdleState (например, ожидание ввода с клавиатуры).

3) ft_OnTick( bCode, nInterval ) - выполняет блок кода каждый указанный интервал времени.

4) Можно использовать многопоточность. Для этого нужно собрать проограмму с ключом -mt и предусмотреть соотв. обработку.



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



Пост N: 198
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 10.12.18 16:53. Заголовок: При объявлении перем..


При объявлении переменной GLOBAL компилятор выдает ошибку синтаксиса. Нужно добавить какие то ключи или как объявлять ее ?

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


Пост N: 1489
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.12.18 17:19. Заголовок: MIKHAIL пишет: При ..


MIKHAIL пишет:

 цитата:
При объявлении переменной GLOBAL компилятор выдает ошибку синтаксиса. Нужно добавить какие то ключи или как объявлять ее ?


PUBLIC

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



Пост N: 199
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 10.12.18 19:41. Заголовок: PSP пишет: PUBLIC ..


PSP пишет:

 цитата:
PUBLIC


т.е. не реализовано GLOBAL ?

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


Пост N: 1490
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 11.12.18 06:13. Заголовок: А где было реализова..


А где было реализовано GLOBAL? В Клиппере не было.

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




Пост N: 3816
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.12.18 07:53. Заголовок: Есть в xHarbour. Это..


Есть в xHarbour. Это аналог static, только переменные видно во всех модулях. В harbour этого расширения нет.

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


Пост N: 1491
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 11.12.18 09:30. Заголовок: Pasha пишет: Есть в..


Pasha пишет:

 цитата:
Есть в xHarbour. Это аналог static, только переменные видно во всех модулях. В harbour этого расширения нет.


Понятно.

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

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