Автор | Сообщение |
|
| постоянный участник
|
Пост 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 не знал (слышал краем уха только), то хочется и услышать советы по поводу "с чего начать, на что обратить внимание", да и вообще советы по поводу "а стоит ли заморачиваться, есть ли здесь рынок и т.д." Спасибо. Спирин Сергей.
|
|
|
Ответов - 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. |
| Отлично. Спасибо большое. Похоже мои переспективы на праздники проясняются Спирин Сергей.
|
|
|
|
| Администратор
|
Пост 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 (переменные) использовать только для приема значений параметров. И, насколько я представляю, для генератора отчетов могут быть полезны параметры типа массив
|
|
|
|
| постоянный участник
|
Пост N: 18
Зарегистрирован: 25.12.07
|
|
Отправлено: 26.12.07 18:48. Заголовок: Pasha пишет: Это уж..
Pasha пишет: цитата: | Это уже другое семейство функций Для C харбор-переменная - это структура типа Item.... |
| ОK. Спасибо. Направление понял.
|
|
|
|
| постоянный участник
|
Пост 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 и может что-то еще
|
|
|
|
| постоянный участник
|
Пост N: 19
Зарегистрирован: 25.12.07
|
|
Отправлено: 27.12.07 11:39. Заголовок: Петр пишет: Несколь..
Петр пишет: Вариантов много получается Пожалуй, если все пойдет нормально, я сделаю так. Сам ограничусь вариантом Harbour+BCC, и снова подниму тему "не бескорыстных" помошников , которые и будут тестировать и поправлять меня в различных "конфигурациях!. Спирин Сергей.
|
|
|
|
| модератор
|
Пост N: 674
Зарегистрирован: 25.05.05
|
|
Отправлено: 27.12.07 11:55. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | снова подниму тему "не бескорыстных" помощников |
| Удачи Вам в конвертации! Если потребуется помощь в написании GUI демки, аналогичной Вашей FastDemo для xBase++, то я смогу помочь
|
|
|
|
| постоянный участник
|
Пост N: 20
Зарегистрирован: 25.12.07
|
|
Отправлено: 27.12.07 11:59. Заголовок: gfilatov пишет: .....
gfilatov пишет: Отлично, буду иметь в виду.
|
|
|
|
| постоянный участник
|
Пост N: 383
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.12.07 20:04. Заголовок: gfilatov пишет: мы ..
gfilatov пишет: цитата: | мы можем из Харбора работать с бесплатной библиотекой UnRar.Dll, позволяющей разархивировать любые RAR-архивы |
| А пример можно выложить ? Sergey Spirin пишет: цитата: | FastReport продукт стоящий. |
| Поддерживаю !!!
|
|
|
|
| модератор
|
Пост N: 675
Зарегистрирован: 25.05.05
|
|
Отправлено: 30.12.07 21:00. Заголовок: Andrey пишет: приме..
Andrey пишет: Пример использования этой DLL есть в поставке HMG Extended, папка samples\Advanced\UnRar
|
|
|
|
| постоянный участник
|
Пост N: 21
Зарегистрирован: 25.12.07
|
|
Отправлено: 04.01.08 17:31. Заголовок: Здравствуйте. Что ..
Здравствуйте. Что ж, могу сказать, что пока "процесс портирования" идет даже более гдадко, чем я предполагал, тьфу-тьфу Но как я уже упоминал, у меня все "крутится" по Харбур + BCC. Кто может проверить "компилируемость и работоспособность" тестовых примеров на других связках, пожалуйста напишите мне в "мыло" - spirin [at] paritetsoft [dot] ru Я вышлю пример, который хотел бы проверить. Заранее, спасибо . Спирин Сергей.
|
|
|
|
| постоянный участник
|
Пост N: 385
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.01.08 01:38. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Я вышлю пример, который хотел бы проверить. |
| Высылай мне на мыло 30195@mail.ru !
|
|
|
|
|
| Администратор
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 22
Зарегистрирован: 25.12.07
|
|
Отправлено: 05.01.08 12:57. Заголовок: Списибо всем, предл..
Списибо всем, предложившим помощь. Уже несколько человек обратило мое внимание на неаккуратность кода загрузки тестовой dll. Абсолютно согласен, "в свое оправдание" могу заметить, что этот код, ну явно временный, набросанный "лишь бы" загрузить эту dll. Просто я сейчас занимаюсь именно Дельфи-стороной, написанием всех классов взаимодействия и т.д. А это тысячи строк, на все пока времени не хватает А на Харбор-стороне тоже я думаю будет класс (frReportManager), то есть, "теперешнего" кода не будет. Еще раз всем спасибо Спирин Сергей.
|
|
|
|
| Администратор
|
Пост 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, возможно уже пофиксено, у меня под рукой сейчас нет последних сырцов
|
|
|
|
| Администратор
|
Пост 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)
|
|
|
|
| постоянный участник
|
Пост 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, что для этого надо? Спирин Сергей.
|
|
|
|
| постоянный участник
|
Пост 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. Чтож попробуем Спирин Сергей.
|
|
|
|
| постоянный участник
|
Пост 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 А так?
|
|
|
|
| постоянный участник
|
Пост N: 25
Зарегистрирован: 25.12.07
|
|
Отправлено: 05.01.08 19:39. Заголовок: Петр пишет: А так? ..
Петр пишет: Ничего не изменилось. Ошибки те же. Да и зачем такие "сложности". В общем-то, проблему я решил как уже и говорил - использовать только harbour-b32.lib-С-API подможество. То есть, при компоновке с harbour-b32.dll моя dll будет работать только с ней. Спирин Сергей.
|
|
|
|
| постоянный участник
|
Пост 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 подможество"?
|
|
|
Ответов - 201
, стр:
1
2
3
4
5
6
7
8
9
10
11
All
[только новые]
|
|