der Import einer Excel Tabelle in ein Xbase++ Array geht ja "schnell"
Code: Alles auswählen
// Row und Col ermitteln
numRows := oWorkBook:workSheets(1):usedRange:Rows:Count
numColumns := oWorkBook:workSheets(1):usedRange:Columns:Count
// Array mit der Grösse anlegen
FOR i := 1 TO numRows
AADD(aExcel,ARRAY(numColumns))
NEXT
// A1:cEnde
cEnde := ZAHL2CHR(numColumns)
// das ganze Sheet in ein Array übertragen
aExcel := oSheet:range( "A1:"+cEnde+LTRIM(STR(numRows)) ):value
weil ich dafür nur 3 x ActiveX Anweisung benötige.
wenn man aber ein neues Item in Contact anlegt wird man evtl. mehrere ActiveX Anweisung für jedes Item einsetzten ... das addiert sich.
da in diesem Fall ja kein Event erwartet wird kann man auch DispHPR.DLL einsetzten. Die Functionen dafür sind, ab v.1.6x, in der ot4xb schon "eingebaut"
DispHPR / ot4xb
ot4xb.public
Start : 1. Oktober 2013
>how to use DispHPR inside ot4xb ?
I've just linked the disphpr module inside ot4xb
Functions:
_DH_CREATEOBJECT , _DH_GETOBJECT , _DH_CREATEOBJECTEX , _DH_GETOBJECTEX , _DH_CALLMETHOD , _DH_PUTVALUE , _DH_PUTREF , _DH_GETVALUE , _DH_INVOKE , _DH_INVOKEARRAY , _DH_CALLMETHODV , _DH_PUTVALUEV , _DH_PUTREFV , _DH_GETVALUEV , _DH_INVOKEV , _DH_ENUMBEGIN , _DH_ENUMBEGINV , _DH_ENUMNEXTOBJECT , _DH_ENUMNEXTVARIANT , _DH_TOGGLEEXCEPTIONS
will be used exactly like @disphpr:func( params... )
so @disphpr:dhCreateObject( params ..... ) will be _dh_CreateObject( params ..... )
>Old Syntax does not work ?
still work but you need to keep the disphrp.dll