1. Win32lib and handles

Hi Derek,
Please could you define any window handle as an atom rather than integer, i
get alot of crashes on XP i use win32lib ver .11

Jordah
C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
type_check failure, grabbedHDC is 11824360
    funcid = 19
    parms = {8724360,0,0,0}
    lRC = <no value>
    libfunc = <no value>
    lFuncDef = 36'$'
    linked = <no value>
    memset = 0
    i = 4

... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
eventLoop()
    id = 0
    Flag = -1
    msg = 8724360
    hWnd = 0
    getRC = 1
    inc = 0
    el = 1
----- Original Message -----
From: "C. K. Lester" <cklester at yahoo.com>
To: "EUforum" <EUforum at topica.com>
Sent: Monday, December 02, 2002 10:07 PM
Subject: Re: disk speed


>
> > Has anyone tested to see how fast they can read a harddisk on winXX,
using
> > Eu? Or any other windoze version? I just had to clean 40,000 files
> (166megs)
> > off another disk, and zip them, making access times even slower. It's a
> 2Gig
> > partition, and Tiggr is filling it every 6 months, and has been for over
2
> years
> > now. So the question becomes, when will i hit the wall of too much data,
> that
> > Eu takes all day to search the 1/2 million files? Any suggestions,
besides
> a
> > massive pre-index of "normal" search parms?
>
> Is this something that an EDS database could handle for you?
>
> > I am supposed to be adding another 1,000 files, about 8Kbytes size each,
> > asap.
>
> Sounds like something that should be in a database!
>
>
>
>

new topic     » topic index » view message » categorize

2. Re: Win32lib and handles

On Sat, Nov 30, 2002 at 11:47:31AM -0000, jordah at btopenworld.com wrote:
> 
> Hi Derek,
> Please could you define any window handle as an atom rather than integer, i
> get alot of crashes on XP i use win32lib ver .11
> 
> Jordah

Version 0.11? Thats an ancient version, by David Cuny.

I wouldn't mind getting a copy of win32lib 0.11 myself, I suppose.

jbrown

> C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> type_check failure, grabbedHDC is 11824360
>     funcid = 19
>     parms = {8724360,0,0,0}
>     lRC = <no value>
>     libfunc = <no value>
>     lFuncDef = 36'$'
>     linked = <no value>
>     memset = 0
>     i = 4
> 
> ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> eventLoop()
>     id = 0
>     Flag = -1
>     msg = 8724360
>     hWnd = 0
>     getRC = 1
>     inc = 0
>     el = 1
> ----- Original Message -----
> From: "C. K. Lester" <cklester at yahoo.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Monday, December 02, 2002 10:07 PM
> Subject: Re: disk speed
> 
> 
> > > Has anyone tested to see how fast they can read a harddisk on winXX,
> using
> > > Eu? Or any other windoze version? I just had to clean 40,000 files
> > (166megs)
> > > off another disk, and zip them, making access times even slower. It's a
> > 2Gig
> > > partition, and Tiggr is filling it every 6 months, and has been for over
> 2
> > years
> > > now. So the question becomes, when will i hit the wall of too much data,
> > that
> > > Eu takes all day to search the 1/2 million files? Any suggestions,
> besides
> > a
> > > massive pre-index of "normal" search parms?
> >
> > Is this something that an EDS database could handle for you?
> >
> > > I am supposed to be adding another 1,000 files, about 8Kbytes size each,
> > > asap.
> >
> > Sounds like something that should be in a database!
> >
> >
> 
> 
>

new topic     » goto parent     » topic index » view message » categorize

3. Re: Win32lib and handles

This has already been done for recent versions of the library (now up to 
v0.57.12)

On Sat, 30 Nov 2002 11:47:31 -0000, <jordah at btopenworld.com> wrote:

>
> Hi Derek,
> Please could you define any window handle as an atom rather than integer, 
> i
> get alot of crashes on XP i use win32lib ver .11
>
> Jordah
> C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> type_check failure, grabbedHDC is 11824360
> funcid = 19
> parms = {8724360,0,0,0}
> lRC = <no value>
> libfunc = <no value>
> lFuncDef = 36'$'
> linked = <no value>
> memset = 0
> i = 4
>
> ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> eventLoop()
> id = 0
> Flag = -1
> msg = 8724360
> hWnd = 0
> getRC = 1
> inc = 0
> el = 1
> ----- Original Message -----
> From: "C. K. Lester" <cklester at yahoo.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Monday, December 02, 2002 10:07 PM
> Subject: Re: disk speed
>
>
>> > Has anyone tested to see how fast they can read a harddisk on winXX,
> using
>> > Eu? Or any other windoze version? I just had to clean 40,000 files
>> (166megs)
>> > off another disk, and zip them, making access times even slower. It's 
>> a
>> 2Gig
>> > partition, and Tiggr is filling it every 6 months, and has been for 
>> over
> 2
>> years
>> > now. So the question becomes, when will i hit the wall of too much 
>> data,
>> that
>> > Eu takes all day to search the 1/2 million files? Any suggestions,
> besides
>> a
>> > massive pre-index of "normal" search parms?
>>
>> Is this something that an EDS database could handle for you?
>>
>> > I am supposed to be adding another 1,000 files, about 8Kbytes size 
>> each,
>> > asap.
>>
>> Sounds like something that should be in a database!
>>
>>
>
>
>



-- 

cheers,
Derek Parnell

new topic     » goto parent     » topic index » view message » categorize

4. Re: Win32lib and handles

On Tue,  3 Dec 2002 01:55:24 +0000, Brian Broker <bkb at cnw.com> wrote:

>
> Derek Parnell wrote:
>> This has already been done for recent versions of the library (now up to
>>
>> v0.57.12)
>
> I know where to find 0.57.11.  Where can I find 0.57.12?
>

Ooops, that's still not publicly available. Won't be long now.  --

cheers,
Derek Parnell

new topic     » goto parent     » topic index » view message » categorize

5. Re: Win32lib and handles

i meant v0.57.11,
jordah
----- Original Message -----
From: <jbrown1050 at hotpop.com>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Win32lib and handles


>
> On Sat, Nov 30, 2002 at 11:47:31AM -0000, jordah at btopenworld.com wrote:
> >
> > Hi Derek,
> > Please could you define any window handle as an atom rather than
integer, i
> > get alot of crashes on XP i use win32lib ver .11
> >
> > Jordah
>
> Version 0.11? Thats an ancient version, by David Cuny.
>
> I wouldn't mind getting a copy of win32lib 0.11 myself, I suppose.
>
> jbrown
>
> > C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> > type_check failure, grabbedHDC is 11824360
> >     funcid = 19
> >     parms = {8724360,0,0,0}
> >     lRC = <no value>
> >     libfunc = <no value>
> >     lFuncDef = 36'$'
> >     linked = <no value>
> >     memset = 0
> >     i = 4
> >
> > ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> > eventLoop()
> >     id = 0
> >     Flag = -1
> >     msg = 8724360
> >     hWnd = 0
> >     getRC = 1
> >     inc = 0
> >     el = 1
> > ----- Original Message -----
> > From: "C. K. Lester" <cklester at yahoo.com>
> > To: "EUforum" <EUforum at topica.com>
> > Sent: Monday, December 02, 2002 10:07 PM
> > Subject: Re: disk speed
> >
> >
> > > > Has anyone tested to see how fast they can read a harddisk on winXX,
> > using
> > > > Eu? Or any other windoze version? I just had to clean 40,000 files
> > > (166megs)
> > > > off another disk, and zip them, making access times even slower.
It's a
> > > 2Gig
> > > > partition, and Tiggr is filling it every 6 months, and has been for
over
> > 2
> > > years
> > > > now. So the question becomes, when will i hit the wall of too much
data,
> > > that
> > > > Eu takes all day to search the 1/2 million files? Any suggestions,
> > besides
> > > a
> > > > massive pre-index of "normal" search parms?
> > >
> > > Is this something that an EDS database could handle for you?
> > >
> > > > I am supposed to be adding another 1,000 files, about 8Kbytes size
each,
> > > > asap.
> > >
> > > Sounds like something that should be in a database!
> > >
> > >
>
>
>

new topic     » goto parent     » topic index » view message » categorize

6. Re: Win32lib and handles

Jordah,
I have rechecked my copy of win32lib.ew and other files. I am now confused.
The messages you gave indicated that the error lie in the w32Func routine.
However, that routine does not reference grabbedHDC. Further more,
grabbedHDC is defined as a sequence and not an integer and all assignments
to it are sequences.

Can you give me a bit more detail so I can help with this one?


----------------
cheers,
Derek Parnell

----- Original Message -----
From: <jordah at btopenworld.com>
To: "EUforum" <EUforum at topica.com>
Sent: Sunday, December 01, 2002 8:15 AM
Subject: Re: Win32lib and handles


>
> i meant v0.57.11,
> jordah
> ----- Original Message -----
> From: <jbrown1050 at hotpop.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Tuesday, December 03, 2002 1:08 AM
> Subject: Re: Win32lib and handles
>
>
> > On Sat, Nov 30, 2002 at 11:47:31AM -0000, jordah at btopenworld.com wrote:
> > >
> > > Hi Derek,
> > > Please could you define any window handle as an atom rather than
> integer, i
> > > get alot of crashes on XP i use win32lib ver .11
> > >
> > > Jordah
> >
> > Version 0.11? Thats an ancient version, by David Cuny.
> >
> > I wouldn't mind getting a copy of win32lib 0.11 myself, I suppose.
> >
> > jbrown
> >
> > > C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> > > type_check failure, grabbedHDC is 11824360
> > >     funcid = 19
> > >     parms = {8724360,0,0,0}
> > >     lRC = <no value>
> > >     libfunc = <no value>
> > >     lFuncDef = 36'$'
> > >     linked = <no value>
> > >     memset = 0
> > >     i = 4
> > >
> > > ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> > > eventLoop()
> > >     id = 0
> > >     Flag = -1
> > >     msg = 8724360
> > >     hWnd = 0
> > >     getRC = 1
> > >     inc = 0
> > >     el = 1
> > > ----- Original Message -----
> > > From: "C. K. Lester" <cklester at yahoo.com>
> > > To: "EUforum" <EUforum at topica.com>
> > > Sent: Monday, December 02, 2002 10:07 PM
> > > Subject: Re: disk speed
> > >
> > >
> > > > > Has anyone tested to see how fast they can read a harddisk on
winXX,
> > > using
> > > > > Eu? Or any other windoze version? I just had to clean 40,000 files
> > > > (166megs)
> > > > > off another disk, and zip them, making access times even slower.
> It's a
> > > > 2Gig
> > > > > partition, and Tiggr is filling it every 6 months, and has been
for
> over
> > > 2
> > > > years
> > > > > now. So the question becomes, when will i hit the wall of too much
> data,
> > > > that
> > > > > Eu takes all day to search the 1/2 million files? Any suggestions,
> > > besides
> > > > a
> > > > > massive pre-index of "normal" search parms?
> > > >
> > > > Is this something that an EDS database could handle for you?
> > > >
> > > > > I am supposed to be adding another 1,000 files, about 8Kbytes size
> each,
> > > > > asap.
> > > >
> > > > Sounds like something that should be in a database!
> > > >
> > > >
>
>
>

new topic     » goto parent     » topic index » view message » categorize

7. Re: Win32lib and handles

i'll try and make my program reproduce the problem the resend all the code.
C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
type_check failure, grabbedHDC is 11824360
    funcid = 19
    parms = {8724360,0,0,0}
    lRC = <no value>
    libfunc = <no value>
    lFuncDef = 36'$'
    linked = <no value>
    memset = 0
    i = 4

... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
eventLoop()
    id = 0
    Flag = -1
    msg = 8724360
    hWnd = 0
    getRC = 1
    inc = 0
    el = 1

... called from C:\EUPHORIA\include\win32lib.ew:584 in procedure
fShowError()
    pParams = {84'T',114'r',121'y',105'i',110'n',103'g',32' ',116't',111'o',
32' ',114'r',101'e',108'l',101'e',97'a',115's',101'e',32' ',117'u',110'n',
97'a',99'c',113'q',117'u',105'i',114'r',101'e',100'd',32' ',109'm',101'e',
109'm',111'o',114'r',121'y'}
    pMode = 2
    lErrCode = 0
    lResponse = <no value>
    lStyle = 16
    s = {84'T',114'r',121'y',105'i',110'n',103'g',32' ',116't',111'o',
32' ',114'r',101'e',108'l',101'e',97'a',115's',101'e',32' ',117'u',110'n',
97'a',99'c',113'q',117'u',105'i',114'r',101'e',100'd',32' ',109'm',101'e',
109'm',111'o',114'r',121'y'}
    lDispMsg = {84'T',114'r',121'y',105'i',110'n',103'g',32' ',116't',
111'o',32' ',114'r',101'e',108'l',101'e',97'a',115's',101'e',32' ',117'u',
110'n',97'a',99'c',113'q',117'u',105'i',114'r',101'e',100'd',32' ',109'm',
101'e',109'm',111'o',114'r',121'y',10,10,87'W',105'i',110'n',51'3',50'2',
76'L',105'i',98'b',32' ',118'v',48'0',46'.',53'5',55'7',46'.',57'9',32' ',
50'2',52'4',45'-',74'J',117'u',110'n',101'e',45'-',50'2',48'0',48'0',
50'2'}
    lTitle = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',32' ',
65'A',112'p',112'p',87'W',105'i',110'n',100'd',111'o',119'w',32' ',45'-',
32' ',70'F',97'a',116't',97'a',108'l',32' ',69'E',114'r',114'r',111'o',
114'r'}
    lLibVersion = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',
32' ',118'v',48'0',46'.',53'5',55'7',46'.',57'9',32' ',50'2',52'4',45'-',
74'J',117'u',110'n',101'e',45'-',50'2',48'0',48'0',50'2'}

... called from C:\EUPHORIA\include\tk_mem.e:349 in procedure release_mem()
    pData = 12
    lOwnerSub = 0
    lAddrSub = 0
    lAddrList = <no value>
    lAddrToRelease = <no value>
    ls = <no value>
    ss = <no value>
    Phase1 = <no value>
    debugi = <no value>
    sets = <no value>
    i = 1

... called from C:\EUPHORIA\include\win32lib.ew:1102 in function w32Func()
    funcid = 6
    parms = 11537372
    lRC = 1
    libfunc = 3946808
    lFuncDef = 10
    linked = 3945020
    memset = 12
    i = 4

... called from C:\EUPHORIA\include\win32lib.ew:23705 in procedure WinMain()
    id = 3
    style = 0

... called from C:\EUPHORIA\HB\vidtest.exw:17

Global & Local Variables

 C:\EUPHORIA\include\machine.e:
    check_calls = 1

 C:\EUPHORIA\include\msgbox.e:
    lib = 2010382336
    msgbox_id = 0
    get_active_id = 1

 C:\EUPHORIA\include\file.e:
    SLASH = 92'\'
    my_dir = -2

 C:\EUPHORIA\include\get.e:
    input_file = <no value>
    input_string = <no value>
    string_next = <no value>
    ch = <no value>

 C:\EUPHORIA\include\graphics.e:
    BLUE = 1
    CYAN = 3
    RED = 4
    BROWN = 6
    BRIGHT_BLUE = 9
    BRIGHT_CYAN = 11
    BRIGHT_RED = 12
    YELLOW = 14

 C:\EUPHORIA\include\image.e:
    fn = <no value>
    error_code = <no value>
    numXPixels = <no value>
    numYPixels = <no value>
    bitCount = <no value>
    numRowBytes = <no value>
    startXPixel = <no value>
    startYPixel = <no value>
    endYPixel = <no value>

 C:\EUPHORIA\include\tk_mem.e:
    pAbortRtn = 0
    pAllocationCounter = 3
    pAllocated = {{0},{{8724112,8724160,8724360}}}
    pAllotted = 0
    pStringSet = 0
    pHeap = 8716288
    pPeekStringBufSize = 256

 C:\EUPHORIA\include\win32lib.ew:
    VOID = 0
    vWinMainState = 1
    r_getText = 8
    r_setPenPos = 5
    r_doEvents = 49'1'
    r_setFocus = 14
    r_getItem = 10
    r_destroy = 4
    r_activateTabItems = 13
    r_createEx = 3
    r_setSubFields = 7
    r_lvSortitems = 15
    r_isVisible = 9
    r_openWindow = 48'0'
    r_setHintEx = 50'2'
    r_loadBitmapFromFile = 11
    r_setBitmap = 12
    r_CleanUp = 53'5'
    r_getClientRect = 6
    r_Pause = -1
    r_Break = -1
    gtMsg = {}
    vDuringPaint = {}
    idStack = {3,3,0,0,0,0,0,0,0,0}
    returnStack = {0,0,0,0,0,0,0,0,0,0}
    SP = 1
    vFontResolution = 1
    showWarnings = 1
    xUserCleanUp = -1
    vMsgsToIgnore = {}
    vAppName = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',32' ',
65'A',112'p',112'p',87'W',105'i',110'n',100'd',111'o',119'w'}
    vw32Libraries = {{{1,2010382336},{117'u',115's',101'e',114'r',51'3',
50'2',46'.',100'd',108'l',108'l'}},{{1,2009530368},{103'g',100'd',105'i',
51'3',50'2',46'.',100'd',108'l',108'l'}},{{0,0},{119'w',105'i',110'n',
109'm',109'm',46'.',100'd',108'l',108'l'}},{{0,0},{99'c',111'o',109'm',
100'd',108'l',103'g',51'3',50'2',46'.',100'd',108'l',108'l'}},{{1,1999896576
},
{99'c',111'o',109'm',99'c',116't',108'l',51'3',50'2',46'.',100'd',108'l',
108'l'}},{{0,0},{107'k',101'e',114'r',110'n',101'e',108'l',51'3',50'2',
46'.',100'd',108'l',108'l'}},{{0,0},{115's',104'h',101'e',108'l',108'l',
51'3',50'2',46'.',100'd',108'l',108'l'}},{{1,1961033728},{{114'r',105'i',
99'c',104'h',101'e',100'd',50'2',48'0',46'.',100'd',108'l',108'l'},{114'r',
105'i',99'c',104'h',101'e',100'd',51'3',50'2',46'.',100'd',108'l',108'l'}}}}
    vw32Routines = {11,20,22,{-1,{85'U',110'n',114'r',101'e',103'g',105'i',
115's',116't',101'e',114'r',67'C',108'l',97'a',115's',115's',65'A'},{3355443
6,
33554436},16777220},23,33'!',34'"',{-1,{83'S',101'e',116't',70'F',111'o',
114'r',101'e',103'g',114'r',111'o',117'u',110'n',100'd',87'W',105'i',
110'n',100'd',111'o',119'w'},{33554436},33554436},21,{-1,{83'S',101'e',
116't',67'C',117'u',114'r',115's',111'o',114'r'},{33554436},16777220},
{-1,{83'S',101'e',116't',67'C',117'u',114'r',115's',111'o',114'r',80'P',
111'o',115's'},{16777220,16777220}},{-1,{109'm',111'o',117'u',115's',
101'e',95'_',101'e',118'v',101'e',110'n',116't'},{16777220,16777220,16777220
,
16777220,16777220}},{-1,{83'S',104'h',111'o',119'w',67'C',117'u',114'r',
115's',111'o',114'r'},{16777220},16777220},{-1,{67'C',114'r',101'e',97'a',
116't',101'e',67'C',117'u',114'r',115's',111'o',114'r'},{33554436,16777220,
16777220,16777220,16777220,33554436,33554436},33554436},{-1,{68'D',101'e',
115's',116't',114'r',111'o',121'y',67'C',117'u',114'r',115's',111'o',
114'r'},{33554436},16777220},{-1,{71'G',101'e',116't',67'C',108'l',97'a',
115's',115's',76'L',111'o',110'n',103'g',65'A'},{33554436,16777220},33554436
},
28,{-1,{80'P',101'e',101'e',107'k',77'M',101'e',115's',115's',97'a',103'g',
101'e',65'A'},{33554436,33554436,33554436,33554436,33554436},16777220},
36'$',37'%',38'&',30,{-1,{71'G',101'e',116't',67'C',108'l',105'i',101'e',
110'n',116't',82'R',101'e',99'c',116't'},{33554436,33554436},16777220},
{-1,{68'D',114'r',97'a',119'w',84'T',101'e',120'x',116't',65'A'},{33554436,
33554436,16777220,33554436,33554436}},{-1,{68'D',114'r',97'a',119'w',
84'T',101'e',120'x',116't',69'E',120'x',65'A'},{33554436,33554436,16777220,
33554436,33554436,33554436}},25,15,19,{-1,{66'B',101'e',103'g',105'i',
110'n',80'P',97'a',105'i',110'n',116't'},{33554436,33554436},16777220},...
    vNextRtn = 249
    WC_RICHEDIT = {82'R',73'I',67'C',72'H',69'E',68'D',73'I',84'T',50'2',
48'0',65'A'}
    classes = 50'2'
    Screen = 1
    Printer = 2
    className = {{},{98'b',117'u',116't',116't',111'o',110'n'},{98'b',
117'u',116't',116't',111'o',110'n'},{98'b',117'u',116't',116't',111'o',
110'n'},{98'b',117'u',116't',116't',111'o',110'n'},{98'b',117'u',116't',
116't',111'o',110'n'},{98'b',117'u',116't',116't',111'o',110'n'},{108'l',
105'i',115's',116't',98'b',111'o',120'x'},{108'l',105'i',115's',116't',
98'b',111'o',120'x'},{99'c',111'o',109'm',98'b',111'o',98'b',111'o',120'x'},
{99'c',111'o',109'm',98'b',111'o',98'b',111'o',120'x'},{99'c',111'o',
109'm',98'b',111'o',98'b',111'o',120'x'},{99'c',111'o',109'm',98'b',111'o',
98'b',111'o',120'x'},{101'e',100'd',105'i',116't'},{101'e',100'd',105'i',
116't'},{115's',116't',97'a',116't',105'i',99'c'},{115's',116't',97'a',
116't',105'i',99'c'},{115's',116't',97'a',116't',105'i',99'c'},{115's',
99'c',114'r',111'o',108'l',108'l',98'b',97'a',114'r'},{115's',99'c',114'r',
111'o',108'l',108'l',98'b',97'a',114'r'},{115's',116't',97'a',116't',
105'i',99'c'},{115's',116't',97'a',116't',105'i',99'c'},{},{},{},{},{84'T',
111'o',111'o',108'l',98'b',97'a',114'r',87'W',105'i',110'n',100'd',111'o',
119'w',51'3',50'2'},{109'm',115's',99'c',116't',108'l',115's',95'_',115's',
116't',97'a',116't',117'u',115's',98'b',97'a',114'r',51'3',50'2'},{98'b',
117'u',116't',116't',111'o',110'n'},{98'b',117'u',116't',116't',111'o',
110'n'},{98'b',117'u',116't',116't',111'o',110'n'},{109'm',115's',99'c',
116't',108'l',115's',95'_',116't',114'r',97'a',99'c',107'k',98'b',97'a',
114'r',51'3',50'2'},{109'm',115's',99'c',116't',108'l',115's',95'_',116't',
114'r',97'a',99'c',107'k',98'b',97'a',114'r',51'3',50'2'},{83'S',121'y',
115's',84'T',97'a',98'b',67'C',111'o',110'n',116't',114'r',111'o',108'l',
51'3',50'2'},0,{109'm',115's',99'c',116't',108'l',115's',95'_',112'p',
114'r',111'o',103'g',114'r',101'e',115's',115's',51'3',50'2'},{83'S',...
    classType = {0,1,1,1,1,1,1,4,4,2,2,2,2,3,3,6,6,6,5,5,6,6,7,8,9,10,
11,11,1,1,1,11,11,11,0,11,11,0,11,11,11,11,11,0,11,11,1,11,0,0}
    classStyle = {13565952,1342242816,1342242817,1342242819,1342242822,
1342242825,1342177287,1352728577,1352728579,1344340482,1344340738,1342243331
,
1344340483,1350631552,1352728580,1342177280,1342177282,1342177281,1342242816
,
1342242817,1342177283,1342177294,0,0,0,0,1417674757,1409286147,1342242944,
1342246915,1342247043,1342242849,1342242851,1375797248,0,1342177280,13506314
88,
0,1350631424,1352769604,1350631424,1342177280,1451294752,0,1,1417742597,
1,1342243842,0,0}
    classStyleEx = {16,0,0,0,0,0,0,528,528,512,512,512,512,528,528,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,512,512,1,0,512,0,8,1,0,0,
0,0}
    classAttr = {1,0,0,0,0,0,1,1,1,1,1,1,1,0,8,0,0,0,0,0,0,0,2,2,2,2,3,
1,4,0,4,1,1,1,0,1,1,0,0,8,0,0,2,0,2,3,3,1,2,2}
    classBGColor =
{14215660,14215660,14215660,-1,14215660,14215660,14215660,
16777215,16777215,16777215,16777215,16777215,16777215,16777215,16777215,
-1,-1,-1,14215660,14215660,14215660,14215660,14215660,14215660,14215660,
14215660,14215660,14215660,14215660,14215660,14215660,14215660,14215660,
14215660,14215660,14215660,16777215,14215660,16777215,16777215,14215660,
14215660,14215660,14215660,14215660,14215660,14215660,16777215,14215660,
14215660}
    vWindowClassStyle = {8}
    lv_id = {}
    lvitem_data = {}
    ilicon_list = {}
    lvInsertWhere = 1
    vNextLVItemID = 0
    ILlarge = 0
    ILsmall = 0
    tv_id = {}
    tvitem_data = {}
    tvitem_owner = {}
    tvitem_parent = {}
    tvitem_handle = {}
    himlFTBDefault = 0
    himlFTBHot = 0
    himlFTBDisabled = 0
    FTB_images = {}
    WndProcAddress = 11684688
    SubProcAddress = 11684792
    vOnXXXSupport = 1
    onMouse = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onClick = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onKeyPress = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onKeyUp = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onKeyDown = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onResize = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onChange = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onGotFocus = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onLostFocus = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    onScroll = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onOpen = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onActivate = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onClose = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onDestroy = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onTimer = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onPaint = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    onDragAndDrop = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    onEvent = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    mainWindow = 3
    modalWindow = 0
    modalStyle = 0
    modalDepth = 0
    modalhWnd = 0
    modalStack = {}
    window_handle = {-1,-1,2884012,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1}
    window_handle_type = {-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1}
    window_destroyed = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    window_func = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    window_family = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_type = {49'1',50'2',1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1}
    window_focus_order = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1}
    window_focus = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_owner = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_menu = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_toolbar = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    window_statusbar = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    window_tooltip = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1}
    window_tooltipwid = {200,200,200,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1}
    window_font = {{{97'a',114'r',105'i',97'a',108'l'},10,0,0},{{97'a',
114'r',105'i',97'a',108'l'},10,0,0},{{},10,0,0},-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1}
    window_fcolor = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_bcolor = {14215660,14215660,14215660,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1}
    window_pen = {{0,0,0,13,1,1,14215660},{0,0,0,13,1,1,14215660},{0,0,
0,13,1,1,14215660},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_x = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_y = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_scroll = {{1,10},{1,10},{1,10},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1}
    window_range = {{0,100'd'},{0,100'd'},{0,100'd'},-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_tabitems = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1}
    window_group = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    window_cursor = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_hotkey_keys = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1}
    window_hotkey_ids = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1}
    window_textalign = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1}
    window_closed = {1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_tabenabled = {1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1}
    window_eventhandler = {{{},{},{},{},{},{},{},{},{},{},{},{},{},{},
{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},
{},{},{},{},{}},{{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},
{},{},{}},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
    window_bbrush = {0,0,-1290795188,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1}
    window_tag = {{{},{},{}},{{},{},{}},{{},{},{}},-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1}
    tooltipControl = 0
    transColor = 16711935
    DefaultFontID = 25821223
    heldResource = {}
    heldCursor = {}
    vPens = {}
    vPensHandle = {}
    vBrushes = {}
    vBrushesHandle = {}
    vFontWeight = 700
    vStockResources = {25821223,28311575,26214421,0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16}
    i = 16
    grabbedHDC = 11824360
    paintDC = {}
    printerDC = 0
    vShowChars = 0
    vStreamCallbackBuffer = {}
    vStreamCBPosn = 1
    regCount = 2
    vEmptySlots = 16
    vOpenedFlags = 0
    customColors = 8724160
    i = 63'?'
    vTabKeyCodes = {9}
    hintFontSize = 8
    hintFontAttrib = 0
    hintFontName = {77'M',83'S',32' ',83'S',97'a',110'n',115's',32' ',
83'S',101'e',114'r',105'i',102'f'}
    pfnCompare = 11173176
    dragData = {}
    vLMB_id = {-1,-1,-1,-1}
    vMaxClickTime = 0.5
    vMaxClickXDelta = 3
    vMaxClickYDelta = 3
    ActiveEL = {0}
    cnt = 0
    vNotifications = {-551,-108,-150,-109,-403,-402,-409,-520,-749,-700,
-706,-707,-101,-2}
    vNotifyHandlers = {17,18,19,20,21,22,23,24,25,26,27,28,29,30}
    vEventsHandled = {512,513,516,514,517,515,518,522,5,7,8,256,258,257,
273,563,15,277,276,275,21,309,312,307,308,16,2,78'N',260,49494}
    vHandler = {31,31,31,31,31,31,31,31,32' ',33'!',34'"',35'#',35'#',
35'#',36'$',37'%',38'&',39''',39''',40'(',41')',42'*',42'*',42'*',42'*',
43'+',44',',45'-',46'.',47'/'}
    xpmErrFlag = <no value>
    transTuple = {255,0,255}
    pm = 0

 C:\EUPHORIA\include\compat01.ew:
    VOID = 0

 C:\EUPHORIA\include\vceng.ew:
    ret = 1
    ECB = 11810528
    FCB = 11810768
    SCB = 11811008


Traced lines leading up to the failure:

C:\EUPHORIA\include\win32lib.ew:23563     getRC = w32Func( xGetMessage, {
msg, hWnd, 0, 0 } )
C:\EUPHORIA\include\win32lib.ew:23564     if  getRC = 0
C:\EUPHORIA\include\win32lib.ew:23569     w32Proc( xTranslateMessage, {
msg } )
C:\EUPHORIA\include\win32lib.ew:23570     w32Proc( xDispatchMessage, {
msg } )
C:\EUPHORIA\include\win32lib.ew:23571     Flag -= inc
C:\EUPHORIA\include\win32lib.ew:23572     end while
C:\EUPHORIA\include\win32lib.ew:23563     getRC = w32Func( xGetMessage, {
msg, hWnd, 0, 0 } )
C:\EUPHORIA\include\win32lib.ew:23564     if  getRC = 0
C:\EUPHORIA\include\win32lib.ew:23569     w32Proc( xTranslateMessage, {
msg } )
C:\EUPHORIA\include\win32lib.ew:23570     w32Proc( xDispatchMessage, {
msg } )
C:\EUPHORIA\include\win32lib.ew:23571     Flag -= inc
C:\EUPHORIA\include\win32lib.ew:23572     end while
C:\EUPHORIA\include\win32lib.ew:23563     getRC = w32Func( xGetMessage, {
msg, hWnd, 0, 0 } )
C:\EUPHORIA\include\win32lib.ew:538    if length(pParams) >= 2
C:\EUPHORIA\include\win32lib.ew:555       s = pParams
C:\EUPHORIA\include\win32lib.ew:556       lErrCode = 0
C:\EUPHORIA\include\win32lib.ew:557       lDispMsg = s
C:\EUPHORIA\include\win32lib.ew:560    lLibVersion = sprintf("Win32Lib
v%d.%d.%d %s",
C:\EUPHORIA\include\win32lib.ew:565     lTitle = vAppName & " - "
C:\EUPHORIA\include\win32lib.ew:566    if pMode = 1
C:\EUPHORIA\include\win32lib.ew:576       lTitle &= "Fatal Error"
C:\EUPHORIA\include\win32lib.ew:577       lStyle = MB_ICONHAND
C:\EUPHORIA\include\win32lib.ew:581    if find(lErrCode, vMsgsToIgnore) = 0
C:\EUPHORIA\include\win32lib.ew:583       lDispMsg &= "\n\n" & lLibVersion
C:\EUPHORIA\include\win32lib.ew:584       lResponse = message_box( lDispMsg,
lTitle, lStyle+MB_TASKMODAL )


----- Original Message -----
From: "Derek Parnell" <ddparnell at bigpond.com>
To: "EUforum" <EUforum at topica.com>
Sent: Tuesday, December 03, 2002 1:04 PM
Subject: Re: Win32lib and handles


>
> Jordah,
> I have rechecked my copy of win32lib.ew and other files. I am now
confused.
> The messages you gave indicated that the error lie in the w32Func routine.
> However, that routine does not reference grabbedHDC. Further more,
> grabbedHDC is defined as a sequence and not an integer and all assignments
> to it are sequences.
>
> Can you give me a bit more detail so I can help with this one?
>
>
> ----------------
> cheers,
> Derek Parnell
>
> ----- Original Message -----
> From: <jordah at btopenworld.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Sunday, December 01, 2002 8:15 AM
> Subject: Re: Win32lib and handles
>
>
> > i meant v0.57.11,
> > jordah
> > ----- Original Message -----
> > From: <jbrown1050 at hotpop.com>
> > To: "EUforum" <EUforum at topica.com>
> > Sent: Tuesday, December 03, 2002 1:08 AM
> > Subject: Re: Win32lib and handles
> >
> >
> > > On Sat, Nov 30, 2002 at 11:47:31AM -0000, jordah at btopenworld.com
wrote:
> > > >
> > > > Hi Derek,
> > > > Please could you define any window handle as an atom rather than
> > integer, i
> > > > get alot of crashes on XP i use win32lib ver .11
> > > >
> > > > Jordah
> > >
> > > Version 0.11? Thats an ancient version, by David Cuny.
> > >
> > > I wouldn't mind getting a copy of win32lib 0.11 myself, I suppose.
> > >
> > > jbrown
> > >
> > > > C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> > > > type_check failure, grabbedHDC is 11824360
> > > >     funcid = 19
> > > >     parms = {8724360,0,0,0}
> > > >     lRC = <no value>
> > > >     libfunc = <no value>
> > > >     lFuncDef = 36'$'
> > > >     linked = <no value>
> > > >     memset = 0
> > > >     i = 4
> > > >
> > > > ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> > > > eventLoop()
> > > >     id = 0
> > > >     Flag = -1
> > > >     msg = 8724360
> > > >     hWnd = 0
> > > >     getRC = 1
> > > >     inc = 0
> > > >     el = 1
> > > > ----- Original Message -----
> > > > From: "C. K. Lester" <cklester at yahoo.com>
> > > > To: "EUforum" <EUforum at topica.com>
> > > > Sent: Monday, December 02, 2002 10:07 PM
> > > > Subject: Re: disk speed
> > > >
> > > >
> > > > > > Has anyone tested to see how fast they can read a harddisk on
> winXX,
> > > > using
> > > > > > Eu? Or any other windoze version? I just had to clean 40,000
files
> > > > > (166megs)
> > > > > > off another disk, and zip them, making access times even slower.
> > It's a
> > > > > 2Gig
> > > > > > partition, and Tiggr is filling it every 6 months, and has been
> for
> > over
> > > > 2
> > > > > years
> > > > > > now. So the question becomes, when will i hit the wall of too
much
> > data,
> > > > > that
> > > > > > Eu takes all day to search the 1/2 million files? Any
suggestions,
> > > > besides
> > > > > a
> > > > > > massive pre-index of "normal" search parms?
> > > > >
> > > > > Is this something that an EDS database could handle for you?
> > > > >
> > > > > > I am supposed to be adding another 1,000 files, about 8Kbytes
size
> > each,
> > > > > > asap.
> > > > >
> > > > > Sounds like something that should be in a database!
> > > > >
> > > > >
>
>
>

new topic     » goto parent     » topic index » view message » categorize

8. Re: Win32lib and handles

Thanks for the additional trace info. However this only further confuses me.
There are a number of Very Weird Things in this trace.

> C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> type_check failure, grabbedHDC is 11824360

In the library file there are three places that assign grabbedHDC (a
sequence BTW). They are ...

    grabbedHDC = prepend( grabbedHDC, {pID, lhDC, lSavedDC, lOrigResource} )

    grabbedHDC = removeIndex(lPos, grabbedHDC)

     grabbedHDC = prepend( grabbedHDC, {id,hdc, 0, {}} )

The two using 'prepend' obviously result in a sequence, so no type-check
error there. The one using removeIndex resolves to this statement ...

    return list[1 .. index-1] & list[index+1 .. length(list)]

which because of the concatenation operation also results in a sequence. Yet
the trace seems to crash 'cos an atom is  being assigned to it. Very Weird!


> ... called from C:\EUPHORIA\include\win32lib.ew:1102 in function w32Func()
>     funcid = 6
>     parms = 11537372
>     lRC = 1
>     libfunc = 3946808
>     lFuncDef = 10
>     linked = 3945020
>     memset = 12
>     i = 4
>

This is the cause of the message box that should have appeared saying that
you were trying to release memory that was not acquired. That is because it
was trying to release the 'memset' value of 12. This is weird because the
only way that can be non-zero is if the 'parms' parameter is a sequence and
one of its elements is a sequence! As you can see from the trace, 'parms' is
an atom and not a sequence (how that happened is also Very Weird), thus one
of its elements could not be a sequence. Very Weird!

So, I don't know where to look after this. Is this a shrouded or bound
program by any chance?

----------------
cheers,
Derek Parnell
----- Original Message -----
From: <jordah at btopenworld.com>
To: "EUforum" <EUforum at topica.com>
Sent: Sunday, December 01, 2002 2:28 PM
Subject: Re: Win32lib and handles


>
> i'll try and make my program reproduce the problem the resend all the
code.
> C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> type_check failure, grabbedHDC is 11824360
>     funcid = 19
>     parms = {8724360,0,0,0}
>     lRC = <no value>
>     libfunc = <no value>
>     lFuncDef = 36'$'
>     linked = <no value>
>     memset = 0
>     i = 4
>
> ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> eventLoop()
>     id = 0
>     Flag = -1
>     msg = 8724360
>     hWnd = 0
>     getRC = 1
>     inc = 0
>     el = 1
>
> ... called from C:\EUPHORIA\include\win32lib.ew:584 in procedure
> fShowError()
>     pParams = {84'T',114'r',121'y',105'i',110'n',103'g',32'
',116't',111'o',
> 32' ',114'r',101'e',108'l',101'e',97'a',115's',101'e',32' ',117'u',110'n',
> 97'a',99'c',113'q',117'u',105'i',114'r',101'e',100'd',32' ',109'm',101'e',
> 109'm',111'o',114'r',121'y'}
>     pMode = 2
>     lErrCode = 0
>     lResponse = <no value>
>     lStyle = 16
>     s = {84'T',114'r',121'y',105'i',110'n',103'g',32' ',116't',111'o',
> 32' ',114'r',101'e',108'l',101'e',97'a',115's',101'e',32' ',117'u',110'n',
> 97'a',99'c',113'q',117'u',105'i',114'r',101'e',100'd',32' ',109'm',101'e',
> 109'm',111'o',114'r',121'y'}
>     lDispMsg = {84'T',114'r',121'y',105'i',110'n',103'g',32' ',116't',
> 111'o',32' ',114'r',101'e',108'l',101'e',97'a',115's',101'e',32' ',117'u',
> 110'n',97'a',99'c',113'q',117'u',105'i',114'r',101'e',100'd',32' ',109'm',
> 101'e',109'm',111'o',114'r',121'y',10,10,87'W',105'i',110'n',51'3',50'2',
> 76'L',105'i',98'b',32' ',118'v',48'0',46'.',53'5',55'7',46'.',57'9',32' ',
> 50'2',52'4',45'-',74'J',117'u',110'n',101'e',45'-',50'2',48'0',48'0',
> 50'2'}
>     lTitle = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',32' ',
> 65'A',112'p',112'p',87'W',105'i',110'n',100'd',111'o',119'w',32' ',45'-',
> 32' ',70'F',97'a',116't',97'a',108'l',32' ',69'E',114'r',114'r',111'o',
> 114'r'}
>     lLibVersion = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',
> 32' ',118'v',48'0',46'.',53'5',55'7',46'.',57'9',32' ',50'2',52'4',45'-',
> 74'J',117'u',110'n',101'e',45'-',50'2',48'0',48'0',50'2'}
>
> ... called from C:\EUPHORIA\include\tk_mem.e:349 in procedure
release_mem()
>     pData = 12
>     lOwnerSub = 0
>     lAddrSub = 0
>     lAddrList = <no value>
>     lAddrToRelease = <no value>
>     ls = <no value>
>     ss = <no value>
>     Phase1 = <no value>
>     debugi = <no value>
>     sets = <no value>
>     i = 1
>
> ... called from C:\EUPHORIA\include\win32lib.ew:1102 in function w32Func()
>     funcid = 6
>     parms = 11537372
>     lRC = 1
>     libfunc = 3946808
>     lFuncDef = 10
>     linked = 3945020
>     memset = 12
>     i = 4
>
> ... called from C:\EUPHORIA\include\win32lib.ew:23705 in procedure
WinMain()
>     id = 3
>     style = 0
>
> ... called from C:\EUPHORIA\HB\vidtest.exw:17
>
> Global & Local Variables
>
>  C:\EUPHORIA\include\machine.e:
>     check_calls = 1
>
>  C:\EUPHORIA\include\msgbox.e:
>     lib = 2010382336
>     msgbox_id = 0
>     get_active_id = 1
>
>  C:\EUPHORIA\include\file.e:
>     SLASH = 92'\'
>     my_dir = -2
>
>  C:\EUPHORIA\include\get.e:
>     input_file = <no value>
>     input_string = <no value>
>     string_next = <no value>
>     ch = <no value>
>
>  C:\EUPHORIA\include\graphics.e:
>     BLUE = 1
>     CYAN = 3
>     RED = 4
>     BROWN = 6
>     BRIGHT_BLUE = 9
>     BRIGHT_CYAN = 11
>     BRIGHT_RED = 12
>     YELLOW = 14
>
>  C:\EUPHORIA\include\image.e:
>     fn = <no value>
>     error_code = <no value>
>     numXPixels = <no value>
>     numYPixels = <no value>
>     bitCount = <no value>
>     numRowBytes = <no value>
>     startXPixel = <no value>
>     startYPixel = <no value>
>     endYPixel = <no value>
>
>  C:\EUPHORIA\include\tk_mem.e:
>     pAbortRtn = 0
>     pAllocationCounter = 3
>     pAllocated = {{0},{{8724112,8724160,8724360}}}
>     pAllotted = 0
>     pStringSet = 0
>     pHeap = 8716288
>     pPeekStringBufSize = 256
>
>  C:\EUPHORIA\include\win32lib.ew:
>     VOID = 0
>     vWinMainState = 1
>     r_getText = 8
>     r_setPenPos = 5
>     r_doEvents = 49'1'
>     r_setFocus = 14
>     r_getItem = 10
>     r_destroy = 4
>     r_activateTabItems = 13
>     r_createEx = 3
>     r_setSubFields = 7
>     r_lvSortitems = 15
>     r_isVisible = 9
>     r_openWindow = 48'0'
>     r_setHintEx = 50'2'
>     r_loadBitmapFromFile = 11
>     r_setBitmap = 12
>     r_CleanUp = 53'5'
>     r_getClientRect = 6
>     r_Pause = -1
>     r_Break = -1
>     gtMsg = {}
>     vDuringPaint = {}
>     idStack = {3,3,0,0,0,0,0,0,0,0}
>     returnStack = {0,0,0,0,0,0,0,0,0,0}
>     SP = 1
>     vFontResolution = 1
>     showWarnings = 1
>     xUserCleanUp = -1
>     vMsgsToIgnore = {}
>     vAppName = {87'W',105'i',110'n',51'3',50'2',76'L',105'i',98'b',32' ',
> 65'A',112'p',112'p',87'W',105'i',110'n',100'd',111'o',119'w'}
>     vw32Libraries = {{{1,2010382336},{117'u',115's',101'e',114'r',51'3',
> 50'2',46'.',100'd',108'l',108'l'}},{{1,2009530368},{103'g',100'd',105'i',
> 51'3',50'2',46'.',100'd',108'l',108'l'}},{{0,0},{119'w',105'i',110'n',
> 109'm',109'm',46'.',100'd',108'l',108'l'}},{{0,0},{99'c',111'o',109'm',
>
100'd',108'l',103'g',51'3',50'2',46'.',100'd',108'l',108'l'}},{{1,1999896576
> },
> {99'c',111'o',109'm',99'c',116't',108'l',51'3',50'2',46'.',100'd',108'l',
> 108'l'}},{{0,0},{107'k',101'e',114'r',110'n',101'e',108'l',51'3',50'2',
> 46'.',100'd',108'l',108'l'}},{{0,0},{115's',104'h',101'e',108'l',108'l',
> 51'3',50'2',46'.',100'd',108'l',108'l'}},{{1,1961033728},{{114'r',105'i',
>
99'c',104'h',101'e',100'd',50'2',48'0',46'.',100'd',108'l',108'l'},{114'r',
>
105'i',99'c',104'h',101'e',100'd',51'3',50'2',46'.',100'd',108'l',108'l'}}}}
>     vw32Routines =
{11,20,22,{-1,{85'U',110'n',114'r',101'e',103'g',105'i',
>
115's',116't',101'e',114'r',67'C',108'l',97'a',115's',115's',65'A'},{3355443
> 6,
> 33554436},16777220},23,33'!',34'"',{-1,{83'S',101'e',116't',70'F',111'o',
> 114'r',101'e',103'g',114'r',111'o',117'u',110'n',100'd',87'W',105'i',
> 110'n',100'd',111'o',119'w'},{33554436},33554436},21,{-1,{83'S',101'e',
> 116't',67'C',117'u',114'r',115's',111'o',114'r'},{33554436},16777220},
> {-1,{83'S',101'e',116't',67'C',117'u',114'r',115's',111'o',114'r',80'P',
> 111'o',115's'},{16777220,16777220}},{-1,{109'm',111'o',117'u',115's',
>
101'e',95'_',101'e',118'v',101'e',110'n',116't'},{16777220,16777220,16777220
> ,
> 16777220,16777220}},{-1,{83'S',104'h',111'o',119'w',67'C',117'u',114'r',
> 115's',111'o',114'r'},{16777220},16777220},{-1,{67'C',114'r',101'e',97'a',
>
116't',101'e',67'C',117'u',114'r',115's',111'o',114'r'},{33554436,16777220,
> 16777220,16777220,16777220,33554436,33554436},33554436},{-1,{68'D',101'e',
> 115's',116't',114'r',111'o',121'y',67'C',117'u',114'r',115's',111'o',
> 114'r'},{33554436},16777220},{-1,{71'G',101'e',116't',67'C',108'l',97'a',
>
115's',115's',76'L',111'o',110'n',103'g',65'A'},{33554436,16777220},33554436
> },
>
28,{-1,{80'P',101'e',101'e',107'k',77'M',101'e',115's',115's',97'a',103'g',
> 101'e',65'A'},{33554436,33554436,33554436,33554436,33554436},16777220},
> 36'$',37'%',38'&',30,{-1,{71'G',101'e',116't',67'C',108'l',105'i',101'e',
> 110'n',116't',82'R',101'e',99'c',116't'},{33554436,33554436},16777220},
>
{-1,{68'D',114'r',97'a',119'w',84'T',101'e',120'x',116't',65'A'},{33554436,
> 33554436,16777220,33554436,33554436}},{-1,{68'D',114'r',97'a',119'w',
>
84'T',101'e',120'x',116't',69'E',120'x',65'A'},{33554436,33554436,16777220,
> 33554436,33554436,33554436}},25,15,19,{-1,{66'B',101'e',103'g',105'i',
> 110'n',80'P',97'a',105'i',110'n',116't'},{33554436,33554436},16777220},...
>     vNextRtn = 249
>     WC_RICHEDIT = {82'R',73'I',67'C',72'H',69'E',68'D',73'I',84'T',50'2',
> 48'0',65'A'}
>     classes = 50'2'
>     Screen = 1
>     Printer = 2
>     className = {{},{98'b',117'u',116't',116't',111'o',110'n'},{98'b',
> 117'u',116't',116't',111'o',110'n'},{98'b',117'u',116't',116't',111'o',
> 110'n'},{98'b',117'u',116't',116't',111'o',110'n'},{98'b',117'u',116't',
> 116't',111'o',110'n'},{98'b',117'u',116't',116't',111'o',110'n'},{108'l',
> 105'i',115's',116't',98'b',111'o',120'x'},{108'l',105'i',115's',116't',
>
98'b',111'o',120'x'},{99'c',111'o',109'm',98'b',111'o',98'b',111'o',120'x'},
> {99'c',111'o',109'm',98'b',111'o',98'b',111'o',120'x'},{99'c',111'o',
>
109'm',98'b',111'o',98'b',111'o',120'x'},{99'c',111'o',109'm',98'b',111'o',
> 98'b',111'o',120'x'},{101'e',100'd',105'i',116't'},{101'e',100'd',105'i',
> 116't'},{115's',116't',97'a',116't',105'i',99'c'},{115's',116't',97'a',
> 116't',105'i',99'c'},{115's',116't',97'a',116't',105'i',99'c'},{115's',
>
99'c',114'r',111'o',108'l',108'l',98'b',97'a',114'r'},{115's',99'c',114'r',
> 111'o',108'l',108'l',98'b',97'a',114'r'},{115's',116't',97'a',116't',
>
105'i',99'c'},{115's',116't',97'a',116't',105'i',99'c'},{},{},{},{},{84'T',
> 111'o',111'o',108'l',98'b',97'a',114'r',87'W',105'i',110'n',100'd',111'o',
>
119'w',51'3',50'2'},{109'm',115's',99'c',116't',108'l',115's',95'_',115's',
> 116't',97'a',116't',117'u',115's',98'b',97'a',114'r',51'3',50'2'},{98'b',
> 117'u',116't',116't',111'o',110'n'},{98'b',117'u',116't',116't',111'o',
> 110'n'},{98'b',117'u',116't',116't',111'o',110'n'},{109'm',115's',99'c',
> 116't',108'l',115's',95'_',116't',114'r',97'a',99'c',107'k',98'b',97'a',
>
114'r',51'3',50'2'},{109'm',115's',99'c',116't',108'l',115's',95'_',116't',
> 114'r',97'a',99'c',107'k',98'b',97'a',114'r',51'3',50'2'},{83'S',121'y',
> 115's',84'T',97'a',98'b',67'C',111'o',110'n',116't',114'r',111'o',108'l',
> 51'3',50'2'},0,{109'm',115's',99'c',116't',108'l',115's',95'_',112'p',
> 114'r',111'o',103'g',114'r',101'e',115's',115's',51'3',50'2'},{83'S',...
>     classType = {0,1,1,1,1,1,1,4,4,2,2,2,2,3,3,6,6,6,5,5,6,6,7,8,9,10,
> 11,11,1,1,1,11,11,11,0,11,11,0,11,11,11,11,11,0,11,11,1,11,0,0}
>     classStyle = {13565952,1342242816,1342242817,1342242819,1342242822,
>
1342242825,1342177287,1352728577,1352728579,1344340482,1344340738,1342243331
> ,
>
1344340483,1350631552,1352728580,1342177280,1342177282,1342177281,1342242816
> ,
> 1342242817,1342177283,1342177294,0,0,0,0,1417674757,1409286147,1342242944,
>
1342246915,1342247043,1342242849,1342242851,1375797248,0,1342177280,13506314
> 88,
> 0,1350631424,1352769604,1350631424,1342177280,1451294752,0,1,1417742597,
> 1,1342243842,0,0}
>     classStyleEx = {16,0,0,0,0,0,0,528,528,512,512,512,512,528,528,0,0,
> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,512,512,1,0,512,0,8,1,0,0,
> 0,0}
>     classAttr = {1,0,0,0,0,0,1,1,1,1,1,1,1,0,8,0,0,0,0,0,0,0,2,2,2,2,3,
> 1,4,0,4,1,1,1,0,1,1,0,0,8,0,0,2,0,2,3,3,1,2,2}
>     classBGColor =
> {14215660,14215660,14215660,-1,14215660,14215660,14215660,
> 16777215,16777215,16777215,16777215,16777215,16777215,16777215,16777215,
> -1,-1,-1,14215660,14215660,14215660,14215660,14215660,14215660,14215660,
> 14215660,14215660,14215660,14215660,14215660,14215660,14215660,14215660,
> 14215660,14215660,14215660,16777215,14215660,16777215,16777215,14215660,
> 14215660,14215660,14215660,14215660,14215660,14215660,16777215,14215660,
> 14215660}
>     vWindowClassStyle = {8}
>     lv_id = {}
>     lvitem_data = {}
>     ilicon_list = {}
>     lvInsertWhere = 1
>     vNextLVItemID = 0
>     ILlarge = 0
>     ILsmall = 0
>     tv_id = {}
>     tvitem_data = {}
>     tvitem_owner = {}
>     tvitem_parent = {}
>     tvitem_handle = {}
>     himlFTBDefault = 0
>     himlFTBHot = 0
>     himlFTBDisabled = 0
>     FTB_images = {}
>     WndProcAddress = 11684688
>     SubProcAddress = 11684792
>     vOnXXXSupport = 1
>     onMouse = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onClick = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onKeyPress = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onKeyUp = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onKeyDown = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onResize = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onChange = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onGotFocus = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onLostFocus = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1}
>     onScroll = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onOpen = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onActivate = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onClose = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onDestroy = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onTimer = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onPaint = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     onDragAndDrop = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1}
>     onEvent = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     mainWindow = 3
>     modalWindow = 0
>     modalStyle = 0
>     modalDepth = 0
>     modalhWnd = 0
>     modalStack = {}
>     window_handle = {-1,-1,2884012,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1}
>     window_handle_type = {-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1}
>     window_destroyed = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1}
>     window_func = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1}
>     window_family = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_type = {49'1',50'2',1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1}
>     window_focus_order = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1}
>     window_focus = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_owner = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_menu = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_toolbar = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1}
>     window_statusbar = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1}
>     window_tooltip = {{},{},{},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1}
>     window_tooltipwid = {200,200,200,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1,-1}
>     window_font = {{{97'a',114'r',105'i',97'a',108'l'},10,0,0},{{97'a',
> 114'r',105'i',97'a',108'l'},10,0,0},{{},10,0,0},-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1,-1,-1,-1,-1,-1}
>     window_fcolor = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_bcolor = {14215660,14215660,14215660,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1,-1,-1,-1,-1}
>     window_pen = {{0,0,0,13,1,1,14215660},{0,0,0,13,1,1,14215660},{0,0,
> 0,13,1,1,14215660},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_x = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_y = {0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
>     window_scroll = {{1,10},{1,10},{1,10},-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
> -1,-1,-1,-1,-1}
>     window_range = {{0,100'd'},{0,100'd'},{0,100'd'},-1,-1,-1,-1,-1,-1,
> -1,-1,-1,-1,-1,-1,-1,-1,-1}
<snip>

> C:\EUPHORIA\include\win32lib.ew:583       lDispMsg &= "\n\n" & lLibVersion
> C:\EUPHORIA\include\win32lib.ew:584       lResponse = message_box(
lDispMsg,
> lTitle, lStyle+MB_TASKMODAL )
>
>
> ----- Original Message -----
> From: "Derek Parnell" <ddparnell at bigpond.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Tuesday, December 03, 2002 1:04 PM
> Subject: Re: Win32lib and handles
>
>
> > Jordah,
> > I have rechecked my copy of win32lib.ew and other files. I am now
> confused.
> > The messages you gave indicated that the error lie in the w32Func routin
e.
> > However, that routine does not reference grabbedHDC. Further more,
> > grabbedHDC is defined as a sequence and not an integer and all
assignments
> > to it are sequences.
> >
> > Can you give me a bit more detail so I can help with this one?
> >
> >
> > ----------------
> > cheers,
> > Derek Parnell
> >
> > ----- Original Message -----
> > From: <jordah at btopenworld.com>
> > To: "EUforum" <EUforum at topica.com>
> > Sent: Sunday, December 01, 2002 8:15 AM
> > Subject: Re: Win32lib and handles
> >
> >
> > > i meant v0.57.11,
> > > jordah
> > > ----- Original Message -----
> > > From: <jbrown1050 at hotpop.com>
> > > To: "EUforum" <EUforum at topica.com>
> > > Sent: Tuesday, December 03, 2002 1:08 AM
> > > Subject: Re: Win32lib and handles
> > >
> > >
> > > > On Sat, Nov 30, 2002 at 11:47:31AM -0000, jordah at btopenworld.com
> wrote:
> > > > >
> > > > > Hi Derek,
> > > > > Please could you define any window handle as an atom rather than
> > > integer, i
> > > > > get alot of crashes on XP i use win32lib ver .11
> > > > >
> > > > > Jordah
> > > >
> > > > Version 0.11? Thats an ancient version, by David Cuny.
> > > >
> > > > I wouldn't mind getting a copy of win32lib 0.11 myself, I suppose.
> > > >
> > > > jbrown
> > > >
> > > > > C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
> > > > > type_check failure, grabbedHDC is 11824360
> > > > >     funcid = 19
> > > > >     parms = {8724360,0,0,0}
> > > > >     lRC = <no value>
> > > > >     libfunc = <no value>
> > > > >     lFuncDef = 36'$'
> > > > >     linked = <no value>
> > > > >     memset = 0
> > > > >     i = 4
> > > > >
> > > > > ... called from C:\EUPHORIA\include\win32lib.ew:23563 in procedure
> > > > > eventLoop()
> > > > >     id = 0
> > > > >     Flag = -1
> > > > >     msg = 8724360
> > > > >     hWnd = 0
> > > > >     getRC = 1
> > > > >     inc = 0
> > > > >     el = 1
> > > > > ----- Original Message -----
> > > > > From: "C. K. Lester" <cklester at yahoo.com>
> > > > > To: "EUforum" <EUforum at topica.com>
> > > > > Sent: Monday, December 02, 2002 10:07 PM
> > > > > Subject: Re: disk speed
> > > > >
> > > > >
> > > > > > > Has anyone tested to see how fast they can read a harddisk on
> > winXX,
> > > > > using
> > > > > > > Eu? Or any other windoze version? I just had to clean 40,000
> files
> > > > > > (166megs)
> > > > > > > off another disk, and zip them, making access times even
slower.
> > > It's a
> > > > > > 2Gig
> > > > > > > partition, and Tiggr is filling it every 6 months, and has
been
> > for
> > > over
> > > > > 2
> > > > > > years
> > > > > > > now. So the question becomes, when will i hit the wall of too
> much
> > > data,
> > > > > > that
> > > > > > > Eu takes all day to search the 1/2 million files? Any
> suggestions,
> > > > > besides
> > > > > > a
> > > > > > > massive pre-index of "normal" search parms?
> > > > > >
> > > > > > Is this something that an EDS database could handle for you?
> > > > > >
> > > > > > > I am supposed to be adding another 1,000 files, about 8Kbytes
> size
> > > each,
> > > > > > > asap.
> > > > > >
> > > > > > Sounds like something that should be in a database!
> > > > > >
> > > > > >
>
>
>

new topic     » goto parent     » topic index » view message » categorize

9. Re: Win32lib and handles

You hav to have a web cam for the video capure to work.
here comes nothing
---------------------------------------------------------
--File   : Video Capture Engine
--Version: 0.0.1
--Date   : 26 NOV 2002
--Author : Jordah Ferguson and Guillermo Bonvehi
---------------------------------------------------------
without warning

include dll.e
include machine.e
include msgbox.e

-- Open the Dll's
constant
   vfw     = open_dll("avicap32.dll"),
   user32  = open_dll("user32.dll")

-- Link functions needed
constant
   vSendMessage = define_c_func( user32, "SendMessageA", {C_LONG, C_INT,
C_INT, C_LONG}, C_LONG ),
   vcapCreateWindow = define_c_func(vfw
,"capCreateCaptureWindowA",{C_LONG,C_INT,C_INT,C_INT,C_INT,C_INT,C_INT,C_INT
},C_INT),
   vcapGetDriverDescription =
define_c_func(vfw,"capGetDriverDescriptionA",{C_INT,C_INT,C_INT,C_INT,C_INT}
,C_INT)

-- Windows Message Constants
constant
   WM_USER                     = 1024,
   WM_CAP_START                = WM_USER,
   WM_CAP_SET_CALLBACK_ERROR   = (WM_CAP_START+  2),
   WM_CAP_SET_CALLBACK_STATUS  =(WM_CAP_START+  3),
   WM_CAP_SET_CALLBACK_FRAME   = (WM_CAP_START+  5),
   WM_CAP_DRIVER_CONNECT       = (WM_CAP_START+  10),
   WM_CAP_DRIVER_DISCONNECT    = (WM_CAP_START+  11),
   WM_CAP_DRIVER_GET_CAPS      = (WM_CAP_START+  14),
   WM_CAP_DLG_VIDEOFORMAT      = (WM_CAP_START+  41),
   WM_CAP_DLG_VIDEOSOURCE      = (WM_CAP_START+  42),
   WM_CAP_DLG_VIDEODISPLAY     = (WM_CAP_START+  43),
   WM_CAP_DLG_VIDEOCOMPRESSION = (WM_CAP_START+  46),
   WM_CAP_SET_PREVIEW          = (WM_CAP_START+  50),
   WM_CAP_SET_OVERLAY          = (WM_CAP_START+  51),
   WM_CAP_SET_PREVIEWRATE      = (WM_CAP_START+  52),
   WM_CAP_SET_SCALE            = (WM_CAP_START+  53),
   WM_CAP_GET_STATUS           = (WM_CAP_START+  54),
   WM_CAP_SEQUENCE             = (WM_CAP_START+  62),
   WM_CAP_SEQUENCE_NOFILE      = (WM_CAP_START+  63),
   WM_CAP_SET_SEQUENCE_SETUP   = (WM_CAP_START+  64),
   WM_CAP_GET_SEQUENCE_SETUP   = (WM_CAP_START+  65),
   VCAPENGINE                  = #50000000

-- CAPTUREPARAMS Structure
constant
   dwRequestMicroSecPerFrame  = 00,
   fMakeUserHitOKToCapture    = 04,
   wPercentDropForError       = 08,
   fYield                     = 12,
   dwIndexSize                = 16,
   wChunkGranularity          = 20,
   fUsingDOSMemory            = 24,
   wNumVideoRequested         = 28,
   fCaptureAudio              = 32,
   wNumAudioRequested         = 36,
   vKeyAbort                  = 40,
   fAbortLeftMouse            = 44,
   fAbortRightMouse           = 48,
   fLimitEnabled              = 52,
   wTimeLimit                 = 56,
   fMCIControl                = 60,
   fStepMCIDevice             = 64,
   dwMCIStartTime             = 68,
   dwMCIStopTime              = 72,
   fStepCaptureAt2x           = 76,
   wStepCaptureAverageFrames  = 80,
   dwAudioBufferSize          = 84,
   fDisableWriteCache         = 88,
   AVStreamMaster             = 92,
   size_ofCAPTUREPARAMS       = 96,
   lpCAPTUREPARAMS            = allocate(size_ofCAPTUREPARAMS)

-- Structures CAPSTATUS
constant
    cs_uiImageWidth                = 00,
    cs_uiImageHeight               = 04,
    cs_fLiveWindow                 = 08,
    cs_fOverlayWindow              = 12,
    cs_fScale                      = 16,
    cs_ptScroll_x                  = 20,
    cs_ptScroll_y                  = 24,
    cs_fUsingDefaultPalette        = 28,
    cs_fAudioHardware              = 32,
    cs_fCapFileExists              = 36,
    cs_dwCurrentVideoFrame         = 40,
    cs_dwCurrentVideoFramesDropped = 44,
    cs_dwCurrentWaveSamples        = 48,
    cs_dwCurrentTimeElapsedMS      = 52,
    cs_hPalCurrent                 = 56,
    cs_fCapturingNow               = 60,
    cs_dwReturn                    = 62,
    cs_wNumVideoAllocated          = 66,
    cs_wNumAudioAllocated          = 70,
    size_ofCAPSTATUS               = 74,
    lpCAPSTATUS                    = allocate(size_ofCAPSTATUS)

-- CAPDRIVERCAPS Structure
constant
    wDeviceIndex              = 00,
    fHasOverlay               = 04,
    fHasDlgVideoSource        = 08,
    fHasDlgVideoFormat        = 12,
    fHasDlgVideoDisplay       = 16,
    fCaptureInitialized       = 20,
    fDriverSuppliesPalettes   = 24,
    hVideoIn                  = 28,
    hVideoOut                 = 32,
    hVideoExtIn               = 36,
    hVideoExtOut              = 40,
    size_ofCAPDRIVERCAPS      = 44,
    lpCAPDRIVERCAPS           = allocate(size_ofCAPDRIVERCAPS)

-- Error Messages
constant
   fail_capCreateWindow  = " Failed to create Capture Window",
   fail_capDriverConnect = " Failed to connect to the Video Capture driver",
   fail_capDriverDescript= " Failed to acquire Driver name and description
of Driver Index",
   fail_capDriverDisc    = " Failed to disconnect driver from the capture
Window",
   fail_capStatus        = " Failed to get Video capture status",
   fail_capSequence      = " Failed to Capture Stream: \r\nMSG:
WM_CAP_SEQUENCE",
   fail_capSequenceNoFile= " Failed to Capture Stream: \r\nMSG:
WM_CAP_SEQUENCENOFILE",
   fail_capPreview       = " Failed to set preview mode Status",
   fail_capGetSetup      = " Failed to get capture setup information",
   fail_capSetSetup      = " Failed to set video capture setup information",
   fail_capOverlay       = " Failed to Switch to Overly Mode; Hardware
driver doesn't support overly mode",
   fail_capPreviewRate   = " Failed to set the preview rate",
   fail_capPreviewScale  = " Failed to set Scaling in preview mode",
   fail_capDriverGetCaps = " Failed to get the video driver capabilities"

atom ret,ECB,FCB,SCB

-------------------------------------------
procedure Report(sequence msg)
-------------------------------------------
    if not message_box(msg,"Video Capture Engine",MB_ICONWARNING) then
        puts(1,msg)
        abort(1)
    end if
end procedure

--------------------------------------------
function peek_string(atom x)
--------------------------------------------
 atom offset offset = x
   while peek(offset) do offset +=1 end while
   return peek({x,offset-x})
end function

-------------------------------------------
function SendMessage(atom hwnd,atom msg,atom wParam,atom lParam)
-------------------------------------------
   return c_func(vSendMessage,{hwnd,msg,wParam,lParam})
end function

-------------------------------------------
function capErrorCallback(atom hwnd,atom ErrId, atom lpstr)
-------------------------------------------
   Report(sprintf("Code: %d \r\nMSG: ",ErrId)&peek_string(lpstr))
   return 1
end function
ECB = call_back(routine_id("capErrorCallback"))

-------------------------------------------
function capFrameCallbackProc(atom hwnd,atom lphdr)
-------------------------------------------
   return 1
end function
FCB = call_back(routine_id("capFrameCallbackProc"))

-------------------------------------------
function capStatusCallbackProc(atom hWnd, integer nID,atom lpStatusText)
-------------------------------------------
   return 1
end function
SCB = call_back(routine_id("capStatusCallbackProc"))

-------------------------------------------
function capCaptureGetSetup(atom hwnd,integer element)
-------------------------------------------
   mem_set(lpCAPTUREPARAMS,0,size_ofCAPTUREPARAMS)
   ret =
SendMessage(hwnd,WM_CAP_GET_SEQUENCE_SETUP,size_ofCAPTUREPARAMS,lpCAPTUREPAR
AMS)
   if not ret then
      Report(fail_capGetSetup)
   end if
   return peek4u(lpCAPTUREPARAMS+element)
end function

-------------------------------------------
procedure capCaptureSetSetup(atom hwnd,integer element,atom val)
-------------------------------------------
   poke4(lpCAPTUREPARAMS + element,val)
   ret =
SendMessage(hwnd,WM_CAP_SET_SEQUENCE_SETUP,size_ofCAPTUREPARAMS,lpCAPTUREPAR
AMS)
   if not ret then
      Report(fail_capSetSetup)
   end if
end procedure

-------------------------------------------
-- Has Bugs!!!!
function capGetStatus(atom hwnd,integer element)
-------------------------------------------
   mem_set(lpCAPSTATUS,0,size_ofCAPSTATUS)
   ret = SendMessage(hwnd,WM_CAP_GET_STATUS,size_ofCAPSTATUS,lpCAPSTATUS)
   if not ret then
      Report(fail_capStatus)
   end if
   return peek4u(lpCAPSTATUS+element)
end function

-------------------------------------------
function capDriverGetCaps(atom hwnd,integer element)
-------------------------------------------
   ret =
SendMessage(hwnd,WM_CAP_DRIVER_GET_CAPS,size_ofCAPDRIVERCAPS,lpCAPDRIVERCAPS
)
   if not ret then
      Report(fail_capDriverGetCaps)
   end if
   return peek4u(lpCAPDRIVERCAPS+element)
end function

-------------------------------------------
global function capCreateWindow(sequence lpszWindowName,atom dwStyle,atom
x,atom y,
                         atom cx,atom cy,atom hwnd, atom cID)
-------------------------------------------
   atom psz,hwd
   psz = allocate_string(lpszWindowName)
   hwd =
c_func(vcapCreateWindow,{psz,or_bits(VCAPENGINE,dwStyle),x,y,cx,cy,hwnd,cID}
)
   if not hwd then
      Report(fail_capCreateWindow)
   else
      ret = SendMessage(hwd,WM_CAP_SET_CALLBACK_ERROR ,0,ECB)
      ret = SendMessage(hwd,WM_CAP_SET_CALLBACK_FRAME ,0,FCB)
      ret = SendMessage(hwd,WM_CAP_SET_CALLBACK_STATUS,0,SCB)
   end if
   free(psz)
   return hwd
end function

-------------------------------------------
global procedure capDriverConnect(atom hwnd,integer index)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_DRIVER_CONNECT,index,0)
   if not ret then
      Report(fail_capDriverConnect)
   end if
end procedure

-------------------------------------------
global procedure capDriverDisconnect(atom hwnd)
-------------------------------------------
  ret = SendMessage(hwnd,WM_CAP_DRIVER_DISCONNECT,0,0)
  if not ret then
     Report(fail_capDriverDisc)
  end if
end procedure

-------------------------------------------
global function capGetDriverDescription(integer idx)
-------------------------------------------
   atom DriverName,DriverDesc
   sequence DName,DDesc
   DriverName = allocate(#100)
   DriverDesc = allocate(#100)
   ret =
c_func(vcapGetDriverDescription,{idx,DriverName,#100,DriverDesc,#100})
   if not ret then
      Report(fail_capDriverDescript)
   end if
   DName = peek_string(DriverName)
   DDesc = peek_string(DriverDesc)
   free(DriverName)
   free(DriverDesc)
   return {DName,DDesc}
end function

-------------------------------------------
global procedure capCaptureSequence(atom hwnd)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_SEQUENCE,0,0)
   if not ret then
      Report(fail_capSequence)
   end if
end procedure

-------------------------------------------
global procedure capCaptureSequenceNoFile(atom hwnd)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_SEQUENCE_NOFILE,0,0)
   if not ret then
      Report(fail_capSequenceNoFile)
   end if
end procedure

-------------------------------------------
global procedure capEnableAudioCapture(atom hwnd,integer flag)
-------------------------------------------
   capCaptureSetSetup(hwnd,fCaptureAudio,flag)
end procedure

-------------------------------------------
global procedure capEnableMCI(atom hwnd, integer flag)
-------------------------------------------
   capCaptureSetSetup(hwnd,fMCIControl,flag)
end procedure

-------------------------------------------
global procedure capSetYield(atom hwnd, integer flag)
-------------------------------------------
   capCaptureSetSetup(hwnd,fYield,flag)
end procedure

-------------------------------------------
global procedure capStartDlg(atom hwnd,integer flag)
-------------------------------------------
   capCaptureSetSetup(hwnd,fMakeUserHitOKToCapture,flag)
end procedure

-------------------------------------------
global function capGetFrameRate(atom hwnd)
-------------------------------------------
   return capCaptureGetSetup(hwnd,dwRequestMicroSecPerFrame)
end function

-------------------------------------------
global procedure capSetFrameRate(atom hwnd,atom val)
-------------------------------------------
    capCaptureSetSetup(hwnd,dwRequestMicroSecPerFrame,val)
end procedure

-------------------------------------------
global function capGetTimeLimit(atom hwnd)
-------------------------------------------
   return capCaptureGetSetup(hwnd,wTimeLimit)
end function

-------------------------------------------
global procedure capSetTimeLimit(atom hwnd,atom val)
-------------------------------------------
   capCaptureSetSetup(hwnd,wTimeLimit,val)
end procedure

-------------------------------------------
global function capIsTimeLimitEnabled(atom hwnd)
-------------------------------------------
   return capCaptureGetSetup(hwnd,fLimitEnabled)
end function

-------------------------------------------
global procedure capEnableTimeLimit(atom hwnd,integer flag)
-------------------------------------------
   capCaptureSetSetup(hwnd,fLimitEnabled,flag)
end procedure

-------------------------------------------
global function capIsOverlyMode(atom hwnd)
-------------------------------------------
   return capDriverGetCaps(hwnd,fHasOverlay)
end function

-------------------------------------------
global procedure capOverlay(atom hwnd, integer flag)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_SET_OVERLAY,flag,0)
   if not ret then
      Report(fail_capOverlay)
   end if
end procedure

-------------------------------------------
global function capIsPreviewMode(atom hwnd)
-------------------------------------------
   return capGetStatus(hwnd,cs_fLiveWindow)
end function

-------------------------------------------
global procedure capPreview(atom hwnd,integer flag)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_SET_PREVIEW,flag,0)
   if not ret then
      Report(fail_capPreview)
   end if
end procedure

-------------------------------------------
global procedure capSetPreviewRate(atom hwnd,atom val)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_SET_PREVIEWRATE,val,0)
   if not ret then
      Report(fail_capPreviewRate)
   end if
end procedure

-------------------------------------------
global procedure capPreviewScale(atom hwnd,integer flag)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_SET_SCALE,flag,0)
   if not ret then
      Report(fail_capPreviewScale)
   end if
end procedure

-------------------------------------------
global function capDlgVideoSourceExist(atom hwnd)
-------------------------------------------
   return capDriverGetCaps(hwnd,fHasDlgVideoSource)
end function

-------------------------------------------
global function capDlgVideoFormatExist(atom hwnd)
-------------------------------------------
   return capDriverGetCaps(hwnd,fHasDlgVideoFormat)
end function

-------------------------------------------
global function capDlgVideoDisplayExist(atom hwnd)
-------------------------------------------
   return capDriverGetCaps(hwnd,fHasDlgVideoDisplay)
end function

-------------------------------------------
global procedure capDlgVideoSource(atom hwnd)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_DLG_VIDEOSOURCE,0,0)
end procedure

-------------------------------------------
global procedure capDlgVideoFormat(atom hwnd)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_DLG_VIDEOFORMAT,0,0)
end procedure

-------------------------------------------
global procedure capDlgVideoDisplay(atom hwnd)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_DLG_VIDEODISPLAY,0,0)
end procedure

-------------------------------------------
global procedure capDlgVideoCompression(atom hwnd)
-------------------------------------------
   ret = SendMessage(hwnd,WM_CAP_DLG_VIDEOCOMPRESSION,0,0)
end procedure
-- the above is vceng.ew
-============================
include win32lib.ew
include vceng.ew

constant
   TstWin = create(Window,"Test Window",0,Default,Default,600,400,0)
,
   CapWin = capCreateWindow("Test
capWindow",0,1,1,301,301,getHandle(TstWin),0)
   capDriverConnect(CapWin,0)
   capStartDlg(CapWin,1)
   capEnableMCI(CapWin,0)
   capEnableAudioCapture(CapWin,0)
   capDlgVideoSource(CapWin)
   capSetYield(CapWin,1)
   capPreview(CapWin,1)
   capCaptureSequenceNoFile(CapWin)


WinMain(TstWin,Normal)

new topic     » goto parent     » topic index » view message » categorize

10. Re: Win32lib and handles

On Tue, 3 Dec 2002 16:13:15 -0600, Kat <kat at kogeijin.com> wrote:

> On 4 Dec 2002, at 7:47, Derek Parnell wrote:
>
>>
>> Thanks for the additional trace info. However this only further confuses 
>> me.
>> There are a number of Very Weird Things in this trace.
>>
>> > C:\EUPHORIA\include\win32lib.ew:1089 in function w32Func()
>> > type_check failure, grabbedHDC is 11824360
>>
>> In the library file there are three places that assign grabbedHDC (a
>> sequence BTW). They are ...
>>
>> grabbedHDC = prepend( grabbedHDC, {pID, lhDC, lSavedDC, lOrigResource} )
>>
>> grabbedHDC = removeIndex(lPos, grabbedHDC)
>>
>> grabbedHDC = prepend( grabbedHDC, {id,hdc, 0, {}} )
>>
>> The two using 'prepend' obviously result in a sequence, so no type-check
>> error there. The one using removeIndex resolves to this statement ...
>>
>> return list[1 .. index-1] & list[index+1 .. length(list)]
>>
>> which because of the concatenation operation also results in a sequence. 
>> Yet the
>> trace seems to crash 'cos an atom is  being assigned to it. Very Weird!
>
> I found a case where strtok is complaining of the results of a parse. If 
> a subseq is one character, it seems to be getting retyped to an atom, 
> which crashes the next function to use it. All i can do is test lengths 
> and use a {} if it's a single character, i spose. If i get time to do 
> anything about it...

Kat,
are you suggesting that the problem might lie inside Euphoria? That under 
some conditions that either a concatenation returns an atom or something 
like that?

> Oh, and i have been having troubles using &= to append things, more than once 
> i have had nests built where none was intended, and vice versa.

For the benefit of Eu new comers, here's how I remember when and how to use 
&=

'&' appends every element and 'append' only every appends one element. In 
other words...
'&' treats the new object a list of elements to be appended, and 'append' 
treats the new object as a single element.

a ={1}
a  &= "abc"  -- this adds 3 elements, namely 'a', 'b' and 'c'
==> {1,'a', 'b','c'}  -- length of a is increased by 3 a= {1}
a = append(a, "abc") -- this adds one element, namely {'a','b','c'}
==> {1,{'a','b','c'}} -- length of a is increased by 1.

Thus a = append(a,x) is equivelent to a &= {x}


Robert Craig:
Can you confirm that Euphoria will always return a sequence for a 
concatenation operation?

-- 

cheers,
Derek Parnell

new topic     » goto parent     » topic index » view message » categorize

11. Re: Win32lib and handles

Derek Parnell writes:
> Can you confirm that Euphoria will always return a sequence for a 
> concatenation operation?

Yes. The result should always be a sequence.

If it isn't, either the interpreter is broken,
or there is some kind of memory corruption
caused by the user's program. When you poke
out of bounds, there's a chance that
you will corrupt a Euphoria variable. Everything is
mixed together on the heap.

I don't think that's what's happening to Kat.
Probably she is getting an atom as the legitimate
result of an operation, but she was expecting (incorrectly)
to see a sequence. Maybe Kat can show us her code.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu