R&R with Xharbour
-
- Posts: 1
- Joined: Tue Oct 10, 2017 12:44 pm
R&R with Xharbour
Greetings...____I am currently evaluating R&R for use within our application.__Seems Ok, (knocks the spots off Crystal in performance terms) but I am having some problems calling the DLL. The documentation did warn me !____Calls fine the first time then eats its face the second time round.__I suspect that I may have a problem with data types for the calling__parameters. ____E.G.__execRuntime__BOOL FAR PASCAL execRuntime (int hReport, BOOL bWait, int cmdShow,__LPINT lpiECode, LPLONG lplPageCount, LPSTR lpszEMsg, int emSize);____int, BOOL I am fine with but LPINT, LPLONG, LPSTR ?__How should I define / declare these variables ?____Is any one out there using xHarbour and R&R and if so do you have any suggestions ?____Regards...__
-
- Posts: 29
- Joined: Tue Oct 10, 2017 12:44 pm
=> RE: R&R with Xharbour
__I use R&R with xHarbour and just call the runtime passing a control file.____Regards,__Randal______>Greetings... __>__>I am currently evaluating R&R for use within our __>application. __>Seems Ok, (knocks the spots off Crystal in performance __>terms) but I am having some problems calling the DLL. The __>documentation did warn me ! __>__>Calls fine the first time then eats its face the second time __>round. __>I suspect that I may have a problem with data types for the __>calling __>parameters. __>__>E.G. __>execRuntime __>BOOL FAR PASCAL execRuntime (int hReport, BOOL bWait, int __>cmdShow, __>LPINT lpiECode, LPLONG lplPageCount, LPSTR lpszEMsg, int __>emSize); __>__>int, BOOL I am fine with but LPINT, LPLONG, LPSTR ? __>How should I define / declare these variables ? __>__>Is any one out there using xHarbour and R&R and if so do you __>have any suggestions ? __>__>Regards... __
-
- Posts: 60
- Joined: Tue Oct 10, 2017 12:44 pm
=> RE: R&R with Xharbour
>I am currently evaluating R&R for use within our __>Is any one out there using xHarbour and R&R and if so do you __>have any suggestions ? ____Hi,__ some of code we are using here with xharbour:______method execruntime( lwait, nshow ) class rr_proto__local ccode := ^ ^, cmsgbuf := space(200)__local retval, nerrpage := 0__default lwait := .t.__default nshow := SW_RESTORE__//default nshow := 1 //SW_SHOWNORMAL____retval := ::callrrdll(^execRuntime^,;__ {BOOL,WORD,WORD,WORD,LPSTR,LPSTR,LPSTR,WORD},;__ ::hrpt,lwait,nshow,@ccode,@nerrpage,@cmsgbuf,len(cmsgbuf))____ if ( retval != .t. )__ ::cerrstr := rtrim(cmsgbuf)__ ::cerrcode := ccode__ ::nerrpage := nerrpage__ else__ ::cerrstr := ^^__ ::cerrcode := ^^__ ::nerrpage := 0__ endif__return retval______method callrrdll( cfnname, aptype, p1,p2,p3,p4,p5,p6,p7 ) class rr_proto__local cfarproc, cmacro,uresult, n,l32bit:=::l32bit____#ifdef __HARBOUR____ l32bit:=.f.__#endif____cmacro := if(l32bit ,[getproc32],[getprocadd])+;__ [(]+ltrim(str(::hdll))+[,"]+cfnname+["]+[,]+^.t.^+;__ [,]+ltrim(str(aptype[1]))____ for n := 2 to len(aptype)__ cmacro += [,]+ltrim(str(;__ if(aptype[n] == WORD , DWORD,aptype[n])))__ next__ cmacro += [)]____ cfarproc := &cmacro____ if( ::l32bit )__ #ifdef __HARBOUR____ uresult := calldll(cfarproc,p1,p2,p3,p4,p5,p6,p7)__ #else__ uresult := calldll32(cfarproc,p1,p2,p3,p4,p5,p6,p7)__ #endif__ IF uresult==NIL__ viga(^Viga funktsiooni ^+cfnname+^ kutsumisel failist rrrpt32.dll!^+chr(13)+chr(10)+;__ ^Win XP tööjaamas kontrollige palun parameetrit "Run in separate memory space" programmi shortcuti propertites.^)__ return .T.__ ENDIF__ else__ viga(^16- bit R&R runtime DLL not supported!^)__ endif__//msgdeb(cfnname+if(valtype(uresult)==^L^,if(uresult==.t.,^ .t.^,^ .f.^),^ ^+valtype(uresult)))__return uresult______With the best,__ Taavi.________