Форум » [x]Harbour » Не могу найти FT_ONTICK() » Ответить

Не могу найти FT_ONTICK()

wad1: Здравствуйте! Понадобилась функция FT_ONTICK() для HARBOUR Однако в библиотеке HBNF ее не оказалось. Может кто-нибудь помочь?

Ответов - 8

Dima: http://clipper.borda.ru/?1-4-0-00000359-000-0-0-1225091201

wad1: Я и раньше читал эту тему про заморочки с потоками, но страшновато в это влезать. А просто FT_ONTICK() в HARDOUR не существует?

Dima: wad1 пишет: Однако в библиотеке HBNF Вроде на месте функция $Id: ontick.c 15103 2010-07-14 12:57:05Z vszakats $


wad1: В contrib такой файл действительно есть, но в библиотеку функция не включена. Я хотел было включить сишный код из ONTICK.C в текст программы, но что-то текст мне не понравился. Такое впечатление, что он написан для CLIPPER, и на HARBOUR не переведен. Хотя конечно "сишник" я никакой. Спасибо, Дима за внимание.

Andrey: Пытаюсь добавить в свой проект FT_ONTICK() для хХарбора 1.2.3. Получаю: Error: Unresolved external '_HB_FUN_FT_ONTICK' referenced from C:\xHarb_My\OBJ2\MENUPOP.OBJ А какую библиотеку для хХарбора нужно добавить ? Нашёл в contrib папку libnf - там есть эта функция. Добавляю к своему проекту библиотеку libnf.lib - всё равно ошибка компилирования, нет такой функции !

Andrey: Dima пишет: чего ж нет если есть в xharbour\contrib\libnf\ontick.c xXarbour 1.2.3 модуль в папке есть - xharbour\contrib\libnf\ontick.c Библиотека xHarbour\lib\libnf.lib - поиск в Far по строке FT_ONTICK ничего не находит. Наверное из-за этого у меня : Добавляю к своему проекту библиотеку libnf.lib - всё равно ошибка компилирования, нет такой функции ! Взял пример \xHarbour\contrib\libnf\samples\libnf.prg и собрал его. Работает. Посмотрел в нем нет явного вызова FT_OnTick(), поставил его. Начинаю компилировать и опять тоже самое: Error: Unresolved external '_HB_FUN_FT_ONTICK' referenced from Z:\XHARBOUR\CONTRIB\LIBNF\SAMPLES\OBJ\LIBNF.OBJ Может быть из-за того что в ontick.c стоит так ? [pre2]CLIPPER FT_OnTick( void ) [/pre2] Да и заголовки не такие: [pre2]#include <extend.api> #include <item.api> #include <cpmi.h>[/pre2]

Dima: Я же дал тебе сырец а IDLE функции есть в иксах , смотри в папке Tests примеры

Andrey: Сделал модуль для хХарбора STATIC t_bOnTick STATIC t_nTickInterval := 0 STATIC t_nLastCheck := 0 STATIC t_hIdle STATIC PROCEDURE __ft_OnTick() IF hb_MilliSeconds() >= ( t_nLastCheck + t_nTickInterval ) t_nLastCheck := hb_MilliSeconds() Eval( t_bOnTick ) ENDIF RETURN PROCEDURE ft_OnTick( bOnTick, nTickInterval ) /* Harbour extension: Harbour will also accept function pointers */ IF HB_ISEVALITEM( bOnTick ) t_bOnTick := bOnTick IF HB_ISNUMERIC( nTickInterval ) t_nTickInterval := ( 1 / 18.20648 ) * nTickInterval * 1000 ENDIF t_nLastCheck := hb_MilliSeconds() IF Empty( t_hIdle ) t_hIdle := hb_idleAdd( {|| __ft_OnTick() } ) ENDIF ELSE t_bOnTick := NIL t_nTickInterval := 0 IF ! Empty( t_hIdle ) hb_idleDel( t_hIdle ) t_hIdle := NIL ENDIF ENDIF RETURN Добавил в проект xHarbour\contrib\libnf\samples\libnf.prg Ошибка при компиляции: Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland Error: Unresolved external '_HB_FUN_HB_MILLISECONDS' referenced from Z:\XHARBOUR\CONTRIB\LIBNF\SAMPLESOBJ\FT_ONTICK.OBJ Error: Unresolved external '_HB_FUN_HB_ISEVALITEM' referenced from Z:\XHARBOUR\CONTRIB\LIBNF\SAMPLES\OBJ\FT_ONTICK.OBJ Может ontick.c подправить для хХарбора ?



полная версия страницы