Need help with simple event framework

Tano Sakaria tanojoshu at yahoo.de
Sat Nov 19 05:18:31 PST 2011


Hello guys,

I need some help regarding a (very) basic Event handling framework I
just started on today.
Please note that I'm still fairly new to programming itself and that
I might not know things that seem obvious to others.

The attached file is my work so far. I have a class called Backbone
which houses 2 pointers for a linked list. Every linked list member
contains 2 private pointers (one forward and one backward), the
associated public functions to acces them, a string for the Event_ID
and a function pointer to the function that shall be called, if an
event with the corresponding Event_ID is invoked.

I also have a simple test class with exactly one function to test
whether the function is indeed called.



I can compile without problems, but I get a runtime error "Access
Violation: Read at address 0x4E4". This runtime error gets thrown
once I call the function getNext() through a pointer, but I honestly
have no idea why.

I am using D1 and Tango, though Tango is only for the line printing
and can easily be converted to Phobos.

I hope you can help me!
begin 644 Backbone.d
M__YI`&T`<`!O`'(`=``@`'0`80!N`&<`;P`N`&D`;P`N`%,`=`!D`&\`=0!T
M`#L`#0`*``T`"@!V`&\`:0!D`"``;0!A`&D`;@`H`"D`#0`*``D`>P`-``H`
M#0`*``D`0@!A`&,`:P!B`&\`;@!E`"``=`!H`&4`0@!A`&,`:P!B`&\`;@!E
M`"``/0`@`&X`90!W`"``0@!A`&,`:P!B`&\`;@!E`"@`*0`[``T`"@`)`%0`
M90!S`'0`0P!L`&$`<P!S`"``9`!E`'(`(``]`"``;@!E`'<`(`!4`&4`<P!T
M`$,`;`!A`',`<P`[``T`"@`)`'0`:`!E`$(`80!C`&L`8@!O`&X`90`N`'(`
M90!G`&D`<P!T`&4`<@!%`'8`90!N`'0`2`!A`&X`9`!L`&4`<@`H`"``(@!T
M`&4`<P!T`%\`10!6`$4`3@!4`"(`+``@`"8`9`!E`'(`+@!T`&4`<P!T`"``
M*0`[``T`"@`)`&(`;P!O`&P`(`!B`&P`80`@`#T`(`!F`&$`;`!S`&4`.P`-
M``H`"0!B`'D`=`!E`%L`8P!H`&$`<@!;`%T`70!;`%T`(`!D`&4`<@!P`#L`
M#0`*``D`=`!H`&4`0@!A`&,`:P!B`&\`;@!E`"X`=`!H`'(`;P!W`$4`=@!E
M`&X`=``H`"``(@!T`&4`<P!T`%\`10!6`$4`3@!4`"(`+``@`"(`=@!O`&D`
M9`!?`&T`80!I`&X`(@`L`"``9`!E`'(`<``@`"D`.P`-``H`"0!]``T`"@`)
M``T`"@`)`&,`;`!A`',`<P`@`%0`90!S`'0`0P!L`&$`<P!S``T`"@`)`'L`
M#0`*``D`"0!P`'4`8@!L`&D`8P`Z``T`"@`)``D`:0!N`'0`(`!T`&4`<P!T
M`"@`(`!%`'8`90!N`'0`(`!E`'8`90!N`'0`*0`@`'L`(`!3`'0`9`!O`'4`
M=``H`"(`-``R`#0`,@`T`#(`-``R`#0`,@`T`#(`-``R`"(`*0`[`"``<@!E
M`'0`=0!R`&X`(``T`#(`.P`@`'T`#0`*``D`?0`-``H`"0`-``H`"0`-``H`
M8P!L`&$`<P!S`"``0@!A`&,`:P!B`&\`;@!E`"``>P`-``H`"0`-``H`<`!R
M`&D`=@!A`'0`90`Z``T`"@`)`$@`80!N`&0`;`!E`'(`3`!I`&X`:P`J`"``
M9@!I`'(`<P!T`$P`:0!N`&L`.P`-``H`"0!(`&$`;@!D`&P`90!R`$P`:0!N
M`&L`*@`@`&P`80!S`'0`3`!I`&X`:P`[``T`"@`)`$@`80!N`&0`;`!E`'(`
M3`!I`&X`:P`J`"``8P!U`'(`<@!E`&X`=`!,`&D`;@!K`#L`#0`*``D`#0`*
M`'``=0!B`&P`:0!C`#H`#0`*``T`"@`)`'0`:`!I`',`*``I``T`"@`)`'L`
M#0`*``D`"0!(`&$`;@!D`&P`90!R`$P`:0!N`&L`(`!H`&P`(``]`"``;@!E
M`'<`(`!(`&$`;@!D`&P`90!R`$P`:0!N`&L`*``@`"(`(@`L`"``;@!U`&P`
M;``L`"``;@!U`&P`;``L`"``;@!U`&P`;``@`"D`.P`-``H`"0`)`&8`:0!R
M`',`=`!,`&D`;@!K`"``/0`@`"8`:`!L`#L`#0`*``D`"0`O`"\`:`!L`"``
M/0`@`&X`90!W`"``2`!A`&X`9`!L`&4`<@!,`&D`;@!K`"@`(``B`"(`+``@
M`&X`=0!L`&P`+``@`&X`=0!L`&P`+``@`&X`=0!L`&P`(``I`#L`#0`*``D`
M"0`O`"\`;`!A`',`=`!,`&D`;@!K`"``/0`@`"8`:`!L`#L`#0`*``D`?0`-
M``H`"0`-``H`"0!B`&\`;P!L`"``<@!E`&<`:0!S`'0`90!R`$4`=@!E`&X`
M=`!(`&$`;@!D`&P`90!R`"@`(`!C`&@`80!R`%L`70`@`&4`=@!E`&X`=`!?
M`&D`9``L`"``:0!N`'0`(`!D`&4`;`!E`&<`80!T`&4`*`!%`'8`90!N`'0`
M*0`@`&8`<``@`"D`(`![``T`"@`)`&,`=0!R`'(`90!N`'0`3`!I`&X`:P`@
M`#T`(`!F`&D`<@!S`'0`3`!I`&X`:P`N`&<`90!T`$X`90!X`'0`*``I`#L`
M#0`*``D`"0!I`&8`*``@`"@`8P!U`'(`<@!E`&X`=`!,`&D`;@!K`"``:0!S
M`"``;@!U`&P`;``I`"D`#0`*``D`"0![``T`"@`)``D`"0!(`&$`;@!D`&P`
M90!R`$P`:0!N`&L`(`!H`&P`(``]`"``;@!E`'<`(`!(`&$`;@!D`&P`90!R
M`$P`:0!N`&L`*``@`&4`=@!E`&X`=`!?`&D`9``L`"``9@!P`"P`(`!N`'4`
M;`!L`"P`(`!N`'4`;`!L`"``*0`[``T`"@`)``D`"0!H`&P`+@!S`&4`=`!.
M`&4`>`!T`"@`(``F`&@`;``@`"D`.P`-``H`"0`)``D`9@!I`'(`<P!T`$P`
M:0!N`&L`(``]`"``)@!H`&P`.P`-``H`"0`)``D`;`!A`',`=`!,`&D`;@!K
M`"``/0`@`&8`:0!R`',`=`!,`&D`;@!K`#L`#0`*``D`"0`)``T`"@`)``D`
M?0`@`&4`;`!S`&4`(`![``T`"@`)``D`"0!(`&$`;@!D`&P`90!R`$P`:0!N
M`&L`(`!H`&P`(``]`"``;@!E`'<`(`!(`&$`;@!D`&P`90!R`$P`:0!N`&L`
M*``@`&4`=@!E`&X`=`!?`&D`9``L`"``9@!P`"P`(`!L`&$`<P!T`$P`:0!N
M`&L`+``@`&X`=0!L`&P`(``I`#L`#0`*``D`"0`)`&P`80!S`'0`3`!I`&X`
M:P`N`',`90!T`$X`90!X`'0`*``@`"8`:`!L`"``*0`[``T`"@`)``D`"0!L
M`&$`<P!T`$P`:0!N`&L`(``]`"``)@!H`&P`.P`-``H`"0`)`'T`#0`*``D`
M"0`-``H`"0`)`'(`90!T`'4`<@!N`"``=`!R`'4`90`[``T`"@`)`'T`#0`*
M``D`#0`*``D`8@!O`&\`;``@`'0`:`!R`&\`=P!%`'8`90!N`'0`*``@`&,`
M:`!A`'(`6P!=`"``90!V`&4`;@!T`%\`:0!D`"P`(`!C`&@`80!R`%L`70`@
M`',`;P!U`'(`8P!E`"P`(`!B`'D`=`!E`%L`8P!H`&$`<@!;`%T`70!;`%T`
M(`!D`&$`=`!A`"D`#0`*``D`>P`-``H`"0`)``T`"@`)``D`10!V`&4`;@!T
M`"``90!V`'0`(``]`"``;@!E`'<`(`!%`'8`90!N`'0`*``@`&4`=@!E`&X`
M=`!?`&D`9``L`"``<P!O`'4`<@!C`&4`+``@`&0`80!T`&$`(``I`#L`#0`*
M``D`"0!C`'4`<@!R`&4`;@!T`$P`:0!N`&L`(``]`"``9@!I`'(`<P!T`$P`
M:0!N`&L`.P`-``H`"0`)``T`"@`)``D`=P!H`&D`;`!E`"@`(`!C`'4`<@!R
M`&4`;@!T`$P`:0!N`&L`+@!G`&4`=`!.`&4`>`!T`"@`*0`@`"$`:0!S`"``
M;@!U`&P`;``@`"D`#0`*``D`"0![``T`"@`)``D`"0!C`'4`<@!R`&4`;@!T
M`$P`:0!N`&L`+@!P`'(`;P!C`&4`<P!S`$4`=@!E`&X`=``H`"``90!V`'0`
M(``I`#L`#0`*``D`"0`)`&,`=0!R`'(`90!N`'0`3`!I`&X`:P`@`#T`(`!C
M`'4`<@!R`&4`;@!T`$P`:0!N`&L`+@!G`&4`=`!.`&4`>`!T`"@`*0`[``T`
M"@`)``D`?0`-``H`"0`)``T`"@`)``D`#0`*``D`"0!R`&4`=`!U`'(`;@`@
M`'0`<@!U`&4`.P`-``H`"0!]``T`"@`)``T`"@`)``T`"@`)``T`"@!]``T`
M"@`-``H`8P!L`&$`<P!S`"``2`!A`&X`9`!L`&4`<@!,`&D`;@!K`"``>P`-
M``H`<`!R`&D`=@!A`'0`90`Z``T`"@`)`$@`80!N`&0`;`!E`'(`3`!I`&X`
M:P`J`"``;@!E`'@`=`!(`&$`;@!D`&P`90!R`$P`:0!N`&L`.P`-``H`"0!(
M`&$`;@!D`&P`90!R`$P`:0!N`&L`*@`@`'``<@!E`'8`:0!O`'4`<P!(`&$`
M;@!D`&P`90!R`$P`:0!N`&L`.P`-``H`"0`-``H`"0!C`&@`80!R`%L`70`@
M`&4`=@!E`&X`=`!?`&D`9``[``T`"@`)``T`"@`)`&D`;@!T`"``9`!E`&P`
M90!G`&$`=`!E`"@`10!V`&4`;@!T`"D`(`!F`'4`;@!C`'0`:0!O`&X`5`!O
M`$,`80!L`&P`.P`-``H`"0`-``H`<`!U`&(`;`!I`&,`.@`-``H`"0`-``H`
M"0!T`&@`:0!S`"@`8P!H`&$`<@!;`%T`(`!E`'8`90!N`'0`7P!I`&0`+``@
M`&D`;@!T`"``9`!E`&P`90!G`&$`=`!E`"@`10!V`&4`;@!T`"D`(`!D`&<`
M+``@`$@`80!N`&0`;`!E`'(`3`!I`&X`:P`J`"``<`!R`&4`=@!I`&\`=0!S
M`"P`(`!(`&$`;@!D`&P`90!R`$P`:0!N`&L`*@`@`&X`90!X`'0`*0`@`'L`
M#0`*``D`"0`-``H`"0`)`'0`:`!I`',`+@!E`'8`90!N`'0`7P!I`&0`(``]
M`"``90!V`&4`;@!T`%\`:0!D`#L`#0`*``D`"0!F`'4`;@!C`'0`:0!O`&X`
M5`!O`$,`80!L`&P`(``]`"``9`!G`#L`#0`*``D`"0`-``H`"0`)`'``<@!E
M`'8`:0!O`'4`<P!(`&$`;@!D`&P`90!R`$P`:0!N`&L`(``]`"``<`!R`&4`
M=@!I`&\`=0!S`#L`#0`*``D`"0!N`&4`>`!T`$@`80!N`&0`;`!E`'(`3`!I
M`&X`:P`@`#T`(`!N`&4`>`!T`#L`#0`*``D`"0`-``H`"0!]``T`"@`)``T`
M"@`)`$@`80!N`&0`;`!E`'(`3`!I`&X`:P`J`"``9P!E`'0`4`!R`&4`=@!I
M`&\`=0!S`"@`*0`-``H`"0![``T`"@`)``D`<@!E`'0`=0!R`&X`(`!P`'(`
M90!V`&D`;P!U`',`2`!A`&X`9`!L`&4`<@!,`&D`;@!K`#L`#0`*``D`?0`-
M``H`"0`-``H`"0!(`&$`;@!D`&P`90!R`$P`:0!N`&L`*@`@`&<`90!T`$X`
M90!X`'0`*``I``T`"@`)`'L`#0`*``D`"0!R`&4`=`!U`'(`;@`@`&X`90!X
M`'0`2`!A`&X`9`!L`&4`<@!,`&D`;@!K`#L`#0`*``D`?0`-``H`"0`-``H`
M"0!B`&\`;P!L`"``<P!E`'0`3@!E`'@`=``H`"``2`!A`&X`9`!L`&4`<@!,
M`&D`;@!K`"H`(`!N`&4`>`!T`"``*0`-``H`"0![``T`"@`)``D`;@!E`'@`
M=`!(`&$`;@!D`&P`90!R`$P`:0!N`&L`(``]`"``;@!E`'@`=``[``T`"@`)
M``D`<@!E`'0`=0!R`&X`(`!T`'(`=0!E`#L`#0`*``D`?0`-``H`"0`-``H`
M"0!B`&\`;P!L`"``<P!E`'0`4`!R`&4`=@!I`&\`=0!S`"@`(`!(`&$`;@!D
M`&P`90!R`$P`:0!N`&L`*@`@`'``<@!E`'8`:0!O`'4`<P`@`"D`#0`*``D`
M>P`-``H`"0`)`'``<@!E`'8`:0!O`'4`<P!(`&$`;@!D`&P`90!R`$P`:0!N
M`&L`(``]`"``<`!R`&4`=@!I`&\`=0!S`#L`#0`*``D`"0!R`&4`=`!U`'(`
M;@`@`'0`<@!U`&4`.P`-``H`"0!]``T`"@`)``T`"@`)`&(`;P!O`&P`(`!P
M`'(`;P!C`&4`<P!S`$4`=@!E`&X`=``H`"``10!V`&4`;@!T`"``90!V`&4`
M;@!T`"``*0`-``H`"0![``T`"@`)``D`:0!F`"@`(`!T`&@`:0!S`"X`90!V
M`&4`;@!T`%\`:0!D`"``/0`]`"``90!V`&4`;@!T`"X`9P!E`'0`20!$`"@`
M*0`@`"D`#0`*``D`"0![``T`"@`)``D`"0!F`'4`;@!C`'0`:0!O`&X`5`!O
M`$,`80!L`&P`*``@`&4`=@!E`&X`=``@`"D`.P`-``H`"0`)``D`<@!E`'0`
M=0!R`&X`(`!T`'(`=0!E`#L`#0`*``D`"0!]``T`"@`)``D`<@!E`'0`=0!R
M`&X`(`!F`&$`;`!S`&4`.P`-``H`"0!]``T`"@`)``T`"@!]``T`"@`-``H`
M8P!L`&$`<P!S`"``10!V`&4`;@!T``T`"@![``T`"@!P`'(`:0!V`&$`=`!E
M`#H`#0`*``D`8P!H`&$`<@!;`%T`(`!E`'8`90!N`'0`7P!I`&0`.P`-``H`
M"0!C`&@`80!R`%L`70`@`',`;P!U`'(`8P!E`#L`#0`*``D`8@!Y`'0`90!;
M`&,`:`!A`'(`6P!=`%T`6P!=`"``90!V`&4`;@!T`$0`80!T`&$`.P`-``H`
M"0`-``H`<`!U`&(`;`!I`&,`.@`-``H`"0!T`&@`:0!S`"@`8P!H`&$`<@!;
M`%T`(`!E`'8`90!N`'0`7P!I`&0`+``@`&,`:`!A`'(`6P!=`"``<P!O`'4`
M<@!C`&4`+``@`&(`>0!T`&4`6P!C`&@`80!R`%L`70!=`%L`70`@`&4`=@!E
M`&X`=`!$`&$`=`!A`"D`#0`*``D`>P`-``H`"0`)`'0`:`!I`',`+@!E`'8`
M90!N`'0`7P!I`&0`(``]`"``90!V`&4`;@!T`%\`:0!D`#L`#0`*``D`"0!T
M`&@`:0!S`"X`<P!O`'4`<@!C`&4`(``]`"``<P!O`'4`<@!C`&4`.P`-``H`
M"0`)`'0`:`!I`',`+@!E`'8`90!N`'0`1`!A`'0`80`@`#T`(`!E`'8`90!N
M`'0`1`!A`'0`80`[``T`"@`)`'T`#0`*``D`#0`*``D`8P!H`&$`<@!;`%T`
M(`!G`&4`=`!)`$0`*``I``T`"@`)`'L`#0`*``D`"0!R`&4`=`!U`'(`;@`@
M`&4`=@!E`&X`=`!?`&D`9``[``T`"@`)`'T`#0`*``D`#0`*``D`8P!H`&$`
M<@!;`%T`(`!G`&4`=`!3`&\`=0!R`&,`90`H`"D`#0`*``D`>P`-``H`"0`)
M`'(`90!T`'4`<@!N`"``<P!O`'4`<@!C`&4`.P`-``H`"0!]``T`"@!]````
`
end


More information about the Digitalmars-d-learn mailing list