Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Harbour i posnetowska ThermalServiceLibrary.dll

309 views
Skip to first unread message

kudlaty

unread,
Oct 18, 2011, 11:23:46 AM10/18/11
to
Ratunku Dobrzy Ludzie.

Wiem ze ten problem byl juz omawiamy na grupie ale nie wszystko
zostalo wyjasnione. Przeszedlem etap deklarowania struktury i
kompilacji ale niestety nie chca dzialac z ta biblioteka.
W ponizszym przykladzie jesli nie ma podpietej drukarki wywolanie
funkcji GetStatus_CashRegister zwraca jak nalezy blad komunikacji ale
potem program wywala sie na cData:SayMembers("")


Error BASE/1004 No exported method: SAYMEMBERS
Called from SAYMEMBERS(0)

Czyli wywolanie funkcji niszczy strukture.

Jesli drukarka jest podpieta to juz samo wywolanie funkcji
GetStatus_CashRegister powoduje wywalenie programu z GPFem.

Application Internal Error - C:\LOM_HAB\a1.exe
Terminated at: 2011.10.11 17:30:48
Nienaprawialny błąd nr 6005: Exception error:

Exception Code:C0000005
Exception Address:10008F24
EAX:00000000 EBX:00B3E0DC ECX:00000000 EDX:00000060
ESI:00B0628C EDI:00000004 EBP:0022FC28
CS:EIP:001B:10008F24 SS:ESP:0023:0022FC28
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010246
CS:EIP: 89 01 0F B6 15 E4 2D 02 10 83 E2 04 F7 DA 1B D2
SS:ESP: 00000001 00466553 00000000 FFFFFFFF 0022FC58 7C910385
10000000 00000000 0022FD14 7C917C02 10000000 0022FCBA 0022FCB4
0022FCB4 0022FCBA 7C917CA7

C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...


Modules:
0x00400000 0x00142000 C:\LOM_HAB\a1.exe
0x7C900000 0x000B4000 C:\WINDOWS\system32\ntdll.dll
0x7C800000 0x000FD000 C:\WINDOWS\system32\kernel32.dll
0x77C00000 0x00058000 C:\WINDOWS\system32\msvcrt.dll
0x7E360000 0x00091000 C:\WINDOWS\system32\USER32.dll
0x77F10000 0x00049000 C:\WINDOWS\system32\GDI32.dll
0x76360000 0x0001D000 C:\WINDOWS\system32\IMM32.DLL
0x77DC0000 0x000AC000 C:\WINDOWS\system32\ADVAPI32.dll
0x77E70000 0x00093000 C:\WINDOWS\system32\RPCRT4.dll
0x77FE0000 0x00011000 C:\WINDOWS\system32\Secur32.dll
0x62E70000 0x00009000 C:\WINDOWS\system32\LPK.DLL
0x74D40000 0x0006B000 C:\WINDOWS\system32\USP10.dll
0x10000000 0x00028000 C:\LOM_HAB\ThermalServiceLibrary.dll

Called from DLLCALL(0)

********************************* moj programik testowy a1.prg
************************************
#include "dll.ch"
#include "wintypes.ch"
#include "cstruct.ch"

typedef struct{;
BOOL FSK;
BOOL CMD;
BOOL PAR;
BOOL TRF;
} tCASH_REGISTER_STATUS;


PROC main()

LOCAL hDLL

LOCAL cData := (struct tCASH_REGISTER_STATUS )


hDLL := DllLoad( "ThermalServiceLibrary.dll" )

? "Port Open - "
?? DllCall( hDll, DLL_CDECL, "Port_Open", "COM2", 9600 )

?cData:SayMembers("")

? "GetStatus_CashRegister -- "

?? DllCall( hDll, DLL_CDECL, "GetStatus_CashRegister", @cData )

?cData:SayMembers("")

? "Port Close - "
?? DllCall( hDll, DLL_CDECL, "Port_Close" )

DllUnload( hDLL )

RETURN

*********************************** a1.hbp
**********************************************
a1.prg

xhb.hbc

********************************************************

Czy ktos moglby mi podpowiedziec co jest nie tak. Probowalem juz
wypelnia strukture roznymi danymi przed wywolaniem ale wciaz to samo.

Help

Błażej Powroźnik

ktos

unread,
Oct 18, 2011, 1:16:25 PM10/18/11
to
W dniu 2011-10-18 17:23, kudlaty pisze:
> Ratunku Dobrzy Ludzie.
>
> Wiem ze ten problem byl juz omawiamy na grupie ale nie wszystko
> zostalo wyjasnione.
Ja nie poradzilem sobie z wydrukiem paragonu wprost z HB, poddalem sie i
zalatwilem to w ten sposob, że program harbourowy zapisuje paragon to
pliku i wywoluje program drukujacy napisany jako konsolowy w Delphi. A w
delphi napisanie takiego modulu w oparciu o zalaczone przyklady poszlo
latwo

kudlaty

unread,
Oct 18, 2011, 3:20:34 PM10/18/11
to
Czyli rzezba w g...
Wolałbym uniknac własnie takiego wywolywania zewnetrznego programu.
Juz zastanawaialem się nad napisaniem tej czesci w C wsadznym do
harbour ale to tez nie takie hop-siup. Proby nie chcialy mi sie nawet
kompilowac.

ktos

unread,
Oct 18, 2011, 7:07:53 PM10/18/11
to
W dniu 2011-10-18 21:20, kudlaty pisze:
> Wolałbym uniknac własnie takiego wywolywania zewnetrznego programu.
> Juz zastanawaialem się nad napisaniem tej czesci w C wsadznym do
> harbour ale to tez nie takie hop-siup. Proby nie chcialy mi sie nawet
> kompilowac.

No to obejrzyj sobie jeszcze dokumentacje Novitusa, o ile pamietam jest
lepsza niz Posneta.

Ciekawostka:
- pare lat temu, gdy jeszcze programy mialem w clipperze podlaczalem sie
do ich drukarki, zadzwonilem do nich i sie okazalo, że autor sterownika
to juz teraz dyr. techniczny ale informacji udzielal chetnie.
No i sterownik dzialal pod XP, w odroznieniu od posnetowego.

Andrzej Stróżyński

unread,
Oct 19, 2011, 2:42:18 AM10/19/11
to
W dniu 19-10-2011 01:07, ktos pisze:
> W dniu 2011-10-18 21:20, kudlaty pisze:
>> Wola�bym uniknac w�asnie takiego wywolywania zewnetrznego programu.
>> Juz zastanawaialem siďż˝ nad napisaniem tej czesci w C wsadznym do
>> harbour ale to tez nie takie hop-siup. Proby nie chcialy mi sie nawet
>> kompilowac.
>
> No to obejrzyj sobie jeszcze dokumentacje Novitusa, o ile pamietam jest
> lepsza niz Posneta.
>
> Ciekawostka:
> - pare lat temu, gdy jeszcze programy mialem w clipperze podlaczalem sie
> do ich drukarki, zadzwonilem do nich i sie okazalo, �e autor sterownika
> to juz teraz dyr. techniczny ale informacji udzielal chetnie.
> No i sterownik dzialal pod XP, w odroznieniu od posnetowego.
>
Ja drukarki Posneta obs�uguj� z Novitusowego activex-a
Dzia�a bez problemu.

--
pozdrawiam
AS

Jacek Kruszniewski

unread,
Oct 19, 2011, 8:55:09 AM10/19/11
to
Dnia 2011-10-19 08:42, użytkowniczka/użytkownik Andrzej Stróżyński napisała/napisał (niepotrzebne skreślić):
> W dniu 19-10-2011 01:07, ktos pisze:
>> W dniu 2011-10-18 21:20, kudlaty pisze:
>>> Wolałbym uniknac własnie takiego wywolywania zewnetrznego programu.
>>> Juz zastanawaialem się nad napisaniem tej czesci w C wsadznym do
>>> harbour ale to tez nie takie hop-siup. Proby nie chcialy mi sie nawet
>>> kompilowac.
>>
>> No to obejrzyj sobie jeszcze dokumentacje Novitusa, o ile pamietam jest
>> lepsza niz Posneta.
>>
>> Ciekawostka:
>> - pare lat temu, gdy jeszcze programy mialem w clipperze podlaczalem sie
>> do ich drukarki, zadzwonilem do nich i sie okazalo, że autor sterownika
>> to juz teraz dyr. techniczny ale informacji udzielal chetnie.
>> No i sterownik dzialal pod XP, w odroznieniu od posnetowego.
>>
> Ja drukarki Posneta obsługuję z Novitusowego activex-a
> Działa bez problemu.
>

Na xHarbour lub Harbour?

Z pozdrowieniami

Jacek Kruszniewski

--
"Serce rozważne szuka mądrości, usta niemądrych sycą się głupotą."
(Prz 15:14)

Andrzej Stróżyński

unread,
Oct 19, 2011, 9:40:04 AM10/19/11
to
W dniu 19-10-2011 14:55, Jacek Kruszniewski pisze:
> Dnia 2011-10-19 08:42, użytkowniczka/użytkownik Andrzej Stróżyński
> napisała/napisał (niepotrzebne skreślić):
>> W dniu 19-10-2011 01:07, ktos pisze:
>>> W dniu 2011-10-18 21:20, kudlaty pisze:
>>>> Wolałbym uniknac własnie takiego wywolywania zewnetrznego programu.
>>>> Juz zastanawaialem się nad napisaniem tej czesci w C wsadznym do
>>>> harbour ale to tez nie takie hop-siup. Proby nie chcialy mi sie nawet
>>>> kompilowac.
>>>
>>> No to obejrzyj sobie jeszcze dokumentacje Novitusa, o ile pamietam jest
>>> lepsza niz Posneta.
>>>
>>> Ciekawostka:
>>> - pare lat temu, gdy jeszcze programy mialem w clipperze podlaczalem sie
>>> do ich drukarki, zadzwonilem do nich i sie okazalo, że autor sterownika
>>> to juz teraz dyr. techniczny ale informacji udzielal chetnie.
>>> No i sterownik dzialal pod XP, w odroznieniu od posnetowego.
>>>
>> Ja drukarki Posneta obsługuję z Novitusowego activex-a
>> Działa bez problemu.
>>
>
> Na xHarbour lub Harbour?

Harbour.
Dla jasności, w przypadku Posneta, z Novitusowej OICFiscalPrinterLib
wykorzystuję tylko funkcję Send() :)


--
pozdrawiam
AS

kudlaty

unread,
Oct 19, 2011, 12:26:52 PM10/19/11
to
On 19 Paź, 15:40, Andrzej Stróżyński <astrozynski@poczta_dot_onet.pl>
wrote:
> W dniu 19-10-2011 14:55, Jacek Kruszniewski pisze:
>

>
> Harbour.
> Dla jasności, w przypadku Posneta, z Novitusowej OICFiscalPrinterLib
> wykorzystuję tylko funkcję Send() :)
>
> --
> pozdrawiam
> AS

Niestety trzeba przyznac ze opis do starej biblioteki dosowej Posnetu
do clippera byl bardziej user-friendly.

Sproboje obejsc problemy tworzac bezposrednio te struktury w C. Jak
nie dam rady to wtedy poprubuję tego Novitusa.

Dzieki za zainteresowanie
Blazej
0 new messages