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


Пост N: 1
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 25.12.07 17:41. Заголовок: C чего начать? Есть ли С-API? И т. д.


Здравствуйте.

Хотелось бы услышать советы и рекомендации, во-первых, "откуда качать, что ставить и т.п.". И второе, это информация по С-API.

Объясню свою ситуацию. Я не клипперист (дельфист), однако, получилось, что плотно познакомился с Clipper и Alaska Xbase++. Для Alaska Xbase написал дельфи-оболочку над С-API и полностью портировал FastReport (генератор отчетов) для этого языка, продукт продается и т.д (см. http://www.hotsoft.ru/ALASKA/frax_eng.htm).

Но вот стал получать много писем из Испании Призывают тоже самое сделать для Harbour/xHarbour/FiveWin и т. д..

Так как ничего до этого про Harbour не знал (слышал краем уха только), то хочется и услышать советы по поводу "с чего начать, на что обратить внимание", да и вообще советы по поводу "а стоит ли заморачиваться, есть ли здесь рынок и т.д."

Спасибо.

Спирин Сергей.


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


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


Пост N: 17
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 26.12.07 18:07. Заголовок: Петр пишет: В семей..


Петр пишет:

 цитата:
В семействе hb_vmXXX - функций, наверное, есть и для работы с переменными, массивами, объектами? Если так, то пожалуй, это то что мне надо


Это все конечно есть но не только в hb_vm, а и в hb_item*, что которые собственно и являются аналогами _con* в Alaska.



Отлично. Спасибо большое. Похоже мои переспективы на праздники проясняются

Спирин Сергей.




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




Пост N: 685
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.12.07 18:08. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
В семействе hb_vmXXX - функций, наверное, есть и для работы с переменными, массивами, объектами? Если так, то пожалуй, это то что мне надо



Это уже другое семейство функций
Для C харбор-переменная - это структура типа Item
Для них есть свои функции

Для работы с массивами - C функции hb_array*()
Для работы с Private и Public переменными - функции работы через таблицу символов

Но можно без всего этого обойтись, роаботая с подсистемами харбора посредством вызова С-функций (не задействуя vm), а структуры типа item (переменные) использовать только для приема значений параметров. И, насколько я представляю, для генератора отчетов могут быть полезны параметры типа массив


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


Пост N: 18
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 26.12.07 18:48. Заголовок: Pasha пишет: Это уж..


Pasha пишет:

 цитата:
Это уже другое семейство функций
Для C харбор-переменная - это структура типа Item....



ОK. Спасибо. Направление понял.



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


Пост N: 339
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 26.12.07 19:56. Заголовок: Несколько советов 1)..


Несколько советов
1) Следует помнить о различиях в C-API Harbour и xHarbour
2) Следует помнить о различиях в C-API xHarbour версии 0.9х, 1.0.0 и 1.1.х
3) Следует помнить о довольно частой смене версии p-code для xHarbour
4) Следует помнить о том, что разработчики Harbour уже обьявили о возможной будущей несовместимости на бинарном уровне с пр.версиями
5) Тестирование желательно проводить с несколькими C-компиляторами, не только bcc
и может что-то еще


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


Пост N: 19
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.12.07 11:39. Заголовок: Петр пишет: Несколь..


Петр пишет:

 цитата:
Несколько советов



Вариантов много получается Пожалуй, если все пойдет нормально, я сделаю так. Сам ограничусь вариантом Harbour+BCC, и снова подниму тему "не бескорыстных" помошников , которые и будут тестировать и поправлять меня в различных "конфигурациях!.

Спирин Сергей.

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




Пост N: 674
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 27.12.07 11:55. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
снова подниму тему "не бескорыстных" помощников



Удачи Вам в конвертации!
Если потребуется помощь в написании GUI демки, аналогичной Вашей FastDemo для xBase++, то я смогу помочь

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


Пост N: 20
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 27.12.07 11:59. Заголовок: gfilatov пишет: .....


gfilatov пишет:

 цитата:
...то я смогу помочь



Отлично, буду иметь в виду.

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




Пост N: 383
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.12.07 20:04. Заголовок: gfilatov пишет: мы ..


gfilatov пишет:

 цитата:
мы можем из Харбора работать с бесплатной библиотекой UnRar.Dll, позволяющей разархивировать любые RAR-архивы



А пример можно выложить ?

Sergey Spirin пишет:

 цитата:
FastReport продукт стоящий.



Поддерживаю !!!

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




Пост N: 675
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 30.12.07 21:00. Заголовок: Andrey пишет: приме..


Andrey пишет:

 цитата:
пример можно выложить ?


Пример использования этой DLL есть в поставке HMG Extended, папка samples\Advanced\UnRar

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


Пост N: 21
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 04.01.08 17:31. Заголовок: Здравствуйте. Что ..


Здравствуйте.


Что ж, могу сказать, что пока "процесс портирования" идет даже более гдадко, чем я предполагал, тьфу-тьфу

Но как я уже упоминал, у меня все "крутится" по Харбур + BCC. Кто может проверить "компилируемость и работоспособность" тестовых примеров на других связках, пожалуйста напишите мне в "мыло" - spirin [at] paritetsoft [dot] ru

Я вышлю пример, который хотел бы проверить.

Заранее, спасибо .

Спирин Сергей.



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




Пост N: 385
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.01.08 01:38. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Я вышлю пример, который хотел бы проверить.



Высылай мне на мыло 30195@mail.ru !

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




Пост N: 689
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 05.01.08 09:25. Заголовок: Поздравляю с успехом..


Поздравляю с успехом
Я могу проверить для xHarbour для следующих C-компиляторов (кроме, естественно, bcc):
free MS Visual C++ Toolkit 2003
Open Watcom C++
Digital Mars C++
mingw32
Pelles C

Harbour я собирал только для bcc, но можно попробовать собрать и для остальных поддерживаемых компиляторов (некоммерческих под win32)

tpe2 (at) mail.ru

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


Пост N: 22
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.01.08 12:57. Заголовок: Списибо всем, предл..


Списибо всем, предложившим помощь.

Уже несколько человек обратило мое внимание на неаккуратность кода загрузки тестовой dll. Абсолютно согласен, "в свое оправдание" могу заметить, что этот код, ну явно временный, набросанный "лишь бы" загрузить эту dll. Просто я сейчас занимаюсь именно Дельфи-стороной, написанием всех классов взаимодействия и т.д. А это тысячи строк, на все пока времени не хватает

А на Харбор-стороне тоже я думаю будет класс (frReportManager), то есть, "теперешнего" кода не будет.

Еще раз всем спасибо

Спирин Сергей.

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




Пост N: 690
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 05.01.08 13:54. Заголовок: Связка xHarbour+bcc ..


Связка xHarbour+bcc - ok
Отстальное я посмотрю позже, так как у меня все эти компиляторы дома
Хотел проверить работу xHarbour с harbour.dll, но на $Id: ChangeLog,v 1.5812 2007/12/17 16:48:42 likewolf Exp $ программа не работает: не загружает rdd
Это проблема xHarbour, возможно уже пофиксено, у меня под рукой сейчас нет последних сырцов


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




Пост N: 691
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 05.01.08 14:09. Заголовок: Запустил тест в связ..


Запустил тест в связке Harbour+bcc, собранный с harbour-b32.dll
Приложение запустилось, но при нажатии на кнопку Open выдается сообщение

Could not convert variant of type (Null) into type (String)

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


Пост N: 23
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.01.08 14:23. Заголовок: Pasha пишет: Запуст..


Pasha пишет:

 цитата:
Запустил тест в связке Harbour+bcc, собранный с harbour-b32.dll
Приложение запустилось, но при нажатии на кнопку...



Ok. Сразу два вопроса:

- С каким "calling convention" экспортирует функции harbour-b32.dll? Если не cdecl, то придется мне здесь параметризировать что-ли...
- Как собственно мне скомпилировать, запустить и проверить с harbour-b32.dll, что для этого надо?

Спирин Сергей.

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


Пост N: 24
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.01.08 18:11. Заголовок: Pasha пишет: Запуст..


Pasha пишет:

 цитата:
Запустил тест в связке Harbour+bcc, собранный с harbour-b32.dll
Приложение запустилось, но при нажатии на кнопку Open выдается сообщение

Could not convert variant of type (Null) into type (String)



Догадался "дописать" harbour-b32.lib (все-таки delphi-c здесь в идеологии сильно расходятся). У меня, правда, ошибки другие, но в основном ситуация ясна:

Со стеком, слава богу, везде cdecl, здесь "дурного ветвления" не будет.

Но harbour-b32.dll содержит лишь некоторую часть С-API, и система "не понимает" вложенных вызовов одной части из другой.

Получается, что для универсальности я должен использовать только harbour-b32.dll-часть API. Чтож попробуем


Спирин Сергей.



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


Пост N: 340
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.01.08 18:51. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Догадался "дописать" harbour-b32.lib (все-таки delphi-c здесь в идеологии сильно расходятся). У меня, правда, ошибки другие




@set HB_INSTALL=C:\harbour
@set HB_BIN_INSTALL=C:\harbour\bin
@set HB_LIB_INSTALL=C:\harbour\lib
@set HB_INC_INSTALL=C:\harbour\include

%HB_BIN_INSTALL%\harbour 2.prg -n -i%HB_INC_INSTALL%
%HB_BIN_INSTALL%\harbour FastRepH.prg -n -i%HB_INC_INSTALL%

bcc32 -c -O2 -d -I%HB_INC_INSTALL% 2.c FastRepH.c %HB_INSTALL%\source\vm\mainwin.c

@echo c0w32.obj + > b32.bc
@echo 2.obj + >> b32.bc
@echo FastRepH.obj + >> b32.bc
@echo mainwin.obj, + >> b32.bc
@echo 3.exe,, + >> b32.bc

@echo %HB_LIB_INSTALL%\harbour-b32.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\debug.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\vm.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\rtl.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\gtwin.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\lang.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\rdd.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\macro.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\pp.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\dbfntx.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\dbfcdx.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\dbffpt.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\hbsix.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\common.lib + >> b32.bc
@echo %HB_LIB_INSTALL%\codepage.lib + >> b32.bc

@echo cw32.lib + >> b32.bc
@echo import32.lib, >> b32.bc

ilink32 -Tpe -Gn @b32.bc

if exist *.c del *.c
if exist *.obj del *.obj
if exist *.bak del *.bak
if exist *.tds del *.tds
if exist *.ilc del *.ilc
if exist *.ild del *.ild
if exist *.ilf del *.ilf
if exist *.ils del *.ils
if exist *.map del *.map

А так?

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


Пост N: 25
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 05.01.08 19:39. Заголовок: Петр пишет: А так? ..


Петр пишет:

 цитата:
А так?



Ничего не изменилось. Ошибки те же. Да и зачем такие "сложности". В общем-то, проблему я решил как уже и говорил - использовать только harbour-b32.lib-С-API подможество. То есть, при компоновке с harbour-b32.dll моя dll будет работать только с ней.

Спирин Сергей.

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


Пост N: 341
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.01.08 20:08. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ничего не изменилось. Ошибки те же. Да и зачем такие "сложности"



Sergey Spirin пишет:

 цитата:
Догадался "дописать" harbour-b32.lib



Куда Вы дописали harbour-b32.lib?

Sergey Spirin пишет:

 цитата:
использовать только harbour-b32.lib-С-API подможество. То есть, при компоновке с harbour-b32.dll моя dll будет работать только с ней.


Если Вас не затруднит, что Вы подразумеваете под "harbour-b32.lib-С-API подможество"?







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