I am trying to speed up my code.
My DLL is passed an ASCIIZ STR PTR for the text I want to manipulate. This text is long and gets sent all over the place so I want to use pointers to avoid moving thousands of characters on many lines each time.
so heres what i have (snippet) ...
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤'
FUNCTION LibMain(BYVAL hInstance AS LONG, _
BYVAL fwdReason AS LONG, _
BYVAL lpvReserved AS LONG) EXPORT AS LONG
SELECT CASE fwdReason
CASE %DLL_PROCESS_ATTACH ' DLL loads
DIM TStext(20) AS GLOBAL ASCIIZ PTR
CALL MakeWindow ' Create Main Dialog Window
Blah
Blah
Blah
END FUNCTION
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
FUNCTION Stepper(BYVAL StopFlag AS DWORD,_
BYVAL CurrentBar AS SINGLE,_
BYVAL FinalBar AS DWORD,_
BYVAL SentNumBars AS SINGLE,_
TextPtr AS ASCIIZ PTR) EXPORT AS SINGLE
BarNum = INT(CurrentBar) ' value = 1 - FinalBar
Blah
Blah
Blah
TStext(BarNum) = TextPtr
NumBars = NumBars + 1
IF FinalBar = 1 THEN
FOR i = 1 TO NumBars
CONTROL SEND hDlg, 101, %LB_ADDSTRING, 0, TStext(i) ' update the listbox
NEXT
END IF
Blah
Blah
Blah
END FUNCTION
------------------
Kind Regards
Mike
My DLL is passed an ASCIIZ STR PTR for the text I want to manipulate. This text is long and gets sent all over the place so I want to use pointers to avoid moving thousands of characters on many lines each time.
so heres what i have (snippet) ...
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤'
FUNCTION LibMain(BYVAL hInstance AS LONG, _
BYVAL fwdReason AS LONG, _
BYVAL lpvReserved AS LONG) EXPORT AS LONG
SELECT CASE fwdReason
CASE %DLL_PROCESS_ATTACH ' DLL loads
DIM TStext(20) AS GLOBAL ASCIIZ PTR
CALL MakeWindow ' Create Main Dialog Window
Blah
Blah
Blah
END FUNCTION
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
FUNCTION Stepper(BYVAL StopFlag AS DWORD,_
BYVAL CurrentBar AS SINGLE,_
BYVAL FinalBar AS DWORD,_
BYVAL SentNumBars AS SINGLE,_
TextPtr AS ASCIIZ PTR) EXPORT AS SINGLE
BarNum = INT(CurrentBar) ' value = 1 - FinalBar
Blah
Blah
Blah
TStext(BarNum) = TextPtr
NumBars = NumBars + 1
IF FinalBar = 1 THEN
FOR i = 1 TO NumBars
CONTROL SEND hDlg, 101, %LB_ADDSTRING, 0, TStext(i) ' update the listbox
NEXT
END IF
Blah
Blah
Blah
END FUNCTION
------------------
Kind Regards
Mike
Comment