ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
Simple method for creating "Lock-Up Look" FREE Logins, Sample Source included!!! (Sdk)
Simple method for creating "Lock-Up Look" FREE Logins, Sample Source included!!! // Sdkandon m. colemanSep 22, 1999, 5:54pm
This is a multi-part message in MIME format.
------=_NextPart_000_002C_01BF0512.BBF7E980 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Ooopsies, already I discovered a BUG . . . The Name specified is too = long . . . [View Quote] Q. What's this "Lock-Up Look", and what's it caused by? A. The "Lock-Up Look" is named that because, when you call the AW SDK = Login Functions without any intervention, your Dialog Thread does not = receive the WIN32 Message Pump until each one of functions you call has = finished. Subsequently, your Dialog Thread is not able to do a Redraw, = causing undesired Dialog Painting effects. Q. What is this Thread you speak of? A. Think of a thread in terms of real life . . .=20 Imagine our program as a string of yarn. Now, think back to kindergarten, what is yarn made of? --- Why, = threads of course! =20 This applies to WIN32 Programming also, however, WIN32 Programs = are not usually made of hundreds of threads :) --- Usually there's 2 or = 3, and in the case of simple MFC App Wizard applications, there's 1. =20 This single thread is assigned the job of many things, including : = Repainting the windows, and any code executed from within it (Such as a = while block) . . . While blocks will cause the thread to focus in ONLY = on repeating the code contained inside the block, and not redraw the = windows, or any of the other stuff it's SUPPOSED to do Q. Alrighty, that was a kind of loaded answer . . . How does Andon13 = solve the "Lock-Up Look" problem? A. Haven't you learned anything so far? =3DP The most simple solution to the whole problem is the one used . . = .. =20 In this work-around, we create a Background Worker thread . . . = This thread has no Dialog Boxes or anything assigned to it, so it can = focus solely on the AW SDK Initialization / Login --- Further, it has = the ability to send data to the MAIN Thread, which is the basis for = the nifty looking status indicator used in this solution. =20 Q. Wow, sounds interesting . . . Is it hard to implement? A. No, not at all --- The whole Sample Source code has been commented = from head to toe (Well, the functions relating to the LOGIN anyway). NOTE: Here's a list of syntax / usage / purpose for the most commonly used = functions in this sample code : Function: Class: = Usage: = = = Return Type: NewStatus(CString LOG, int nTYPE); CLogin Log is the = message to be appended to the status text area of the Status Dialog, = nTYPE is an integer value specifying the type of Status Message being = sent VOID = nTYPE: = -1 =3D Append without increasing the Progress Indicator's = Position = 0 =3D Error --- This removes ANY progress currently shown = in the Progress Indicator = 1 =3D Append and Step the Progress indicator up 1 notch. Function: = = = Class: Usage: Login (CString chPassword, int nCitnum, int nX, int nY, int nZ, int = nYAW, int nAV, CString WorldName, CString chIP, int nPort, CString = chBotName) CLogin Pretty straight forward . . . This function = is to be called ONLY from within the Thread. Return Type: Boolean -- TRUE if the login completed without any errors, = otherwise, it returns FALSE. Function: Class: = Usage: ThreadFunc (LPVOID pParam) N/A (Global) This is = called with the creation of the thread . . . There is no need to modify = the Input / Output to this whatsoever, however, you may change the = functions called from it (Login being the only important one) Return Type: UINT -- No need for intervention with this, just let = WIN32 Process it. Function: = Class: Usage: = = = Return Type: OnThreadFinished (WPARAM wParam, LPARAM lParam) CLogin = This is called by the Global Scope call to = ::PostMessage(There's some parameter's in here, but who cares? =3D)) = LONG --- Leave this to WIN32 That's pretty much it --- If you have any questions, or find any BUGs, = please E-Mail me : Andon M. Coleman at : Gizmo98 at earthlink.net Andon M. Coleman Senior Programmer R&D Nothing, Inc. P.S. I can't forget to give J=F6rg K=F6nig credit for his nice little = Bitmap Based Dialog code . . . ------=_NextPart_000_002C_01BF0512.BBF7E980 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Ooopsies, already I discovered a BUG . = .. . The Name=20 specified is too long . . .</FONT></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: = 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px"> <DIV>Andon M. Coleman <<A=20 href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>> = wrote in=20 message <A = href=3D"news:37e92b4d.0 at homer">news:37e92b4d.0 at homer</A>...</DIV> <DIV><FONT face=3DArial size=3D2> <DIV> <DIV><FONT face=3DArial size=3D2>Q. What is this?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. A method devised by Andon13 to = work around the=20 problems associated with calling the AW SDK Login = Functions.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Q. What's this "Lock-Up Look", and = what's it=20 caused by?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. The "Lock-Up Look" is named that = because, when=20 you call the AW SDK Login Functions without any intervention, your = Dialog=20 Thread does not receive the WIN32 Message Pump until each one of=20 functions you call has finished.</FONT></DIV> <DIV><FONT face=3DArial size=3D2> Subsequently, your = Dialog=20 Thread is not able to do a Redraw, causing undesired Dialog Painting=20 effects.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Q. What is this Thread you speak = of?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. </FONT><FONT face=3DArial = size=3D2>Think of a=20 thread in terms of real life . . . </FONT></DIV> <DIV><FONT face=3DArial size=3D2> Imagine our = program as a=20 string of yarn.</FONT></DIV> <DIV><FONT face=3DArial size=3D2> Now, think back to = kindergarten, what is yarn made of? --- Why, threads of = course!</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </FONT></DIV> <DIV><FONT face=3DArial size=3D2> This applies to = WIN32=20 Programming also, however, WIN32 Programs are not usually made of = hundreds of=20 threads :) --- Usually there's 2 or 3, and in the case of simple MFC = App=20 Wizard applications, there's 1.</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </FONT></DIV> <DIV><FONT face=3DArial size=3D2> This single thread = is assigned=20 the job of many things, including : Repainting the windows, and any = code=20 executed from within it (Such as a while block) . . . While blocks = will cause=20 the thread to focus in ONLY on repeating the code contained inside the = block,=20 and not redraw the windows, or any of the other = stuff it's=20 SUPPOSED to do</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Q. Alrighty, that was a kind of = loaded answer . .=20 . How does Andon13 solve the "Lock-Up Look" problem?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. Haven't you learned anything so = far?=20 =3DP</FONT></DIV> <DIV><FONT face=3DArial size=3D2> The most simple = solution to=20 the whole problem is the one used . . .</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </FONT></DIV> <DIV><FONT face=3DArial size=3D2> In this = work-around, we create=20 a Background Worker thread . . . This thread has no Dialog Boxes or = anything=20 assigned to it, so it can focus solely on the AW SDK Initialization / = Login=20 --- Further, it has the ability to send data to the MAIN = Thread, which is=20 the basis for the nifty looking status = indicator used=20 in this solution.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>Q. Wow, sounds interesting . . . Is = it hard to=20 implement?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. No, not at all --- The whole = Sample Source=20 code has been commented from head to toe (Well, the functions relating = to the=20 LOGIN anyway).</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>NOTE:</FONT></DIV> <DIV><FONT face=3DArial size=3D2>Here's a list of syntax / usage / = purpose for the=20 most commonly used functions in this sample code :</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2><FONT = face=3DArial=20 = size=3D2>Function: &= nbsp; &n= bsp; &nb= sp; Class:&nbs= p; =20 =20 Usage: =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 Return Type:</FONT></FONT></FONT></DIV> <DIV><FONT face=3DArial size=3D2>NewStatus(CString LOG, int=20 nTYPE); =20 = CLogin &= nbsp; =20 Log is the message to be appended to the status text area of the = Status=20 Dialog, nTYPE is an integer value specifying the type of Status = Message being=20 = sent &nb= sp; VOID</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;=20 nTYPE:</FONT></DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;=20 -1 =3D Append without increasing the Progress Indicator's = Position</FONT></DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p; 0=20 =3D Error --- This removes ANY progress currently shown in the = Progress=20 Indicator</FONT></DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p; 1=20 =3D Append and Step the Progress indicator up 1 notch.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2><FONT = face=3DArial=20 size=3D2><FONT face=3DArial=20 = size=3D2>Function: &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ;=20 Class: =20 Usage:</FONT></FONT></FONT></FONT></DIV> <DIV><FONT face=3DArial size=3D2>Login (CString chPassword, int = nCitnum, int nX,=20 int nY, int nZ, int nYAW, int nAV, CString WorldName, CString chIP, = int nPort,=20 CString chBotName) CLogin =20 Pretty straight forward . . . This function is to = be called=20 ONLY from within the Thread.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Return Type:</FONT></DIV> <DIV><FONT face=3DArial = size=3D2>Boolean --=20 TRUE if the login completed without any errors, = otherwise,=20 it returns FALSE.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2> <DIV><FONT face=3DArial size=3D2>Function: = =20 = =20 =20 = Class: &= nbsp; =20 Usage:</FONT></DIV>ThreadFunc (LPVOID = pParam) =20 N/A=20 = (Global)  = ; This=20 is called with the creation of the thread . . . There is no need to = modify the=20 Input / Output to this whatsoever, however, you may change the = functions=20 called from it (Login being the only important one)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Return Type:</FONT></DIV> <DIV><FONT face=3DArial size=3D2>UINT =20 -- No need for = intervention with this, just let WIN32 Process it.</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2> <DIV><FONT face=3DArial size=3D2>Function: = =20 = =20 = =20 = =20 = =20 =20 = Class: &= nbsp; =20 = Usage: &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; Return=20 Type:</FONT></DIV> <DIV>OnThreadFinished (WPARAM wParam, LPARAM=20 = lParam) CLogin = &= nbsp; =20 This is called by the Global Scope call to ::PostMessage(There's some=20 parameter's in here, but who cares?=20 = =3D)) &n= bsp; LONG=20 --- Leave this to WIN32</DIV> <DIV> </DIV> <DIV>That's pretty much it --- If you have any questions, or find any = BUGs,=20 please E-Mail me : Andon M. Coleman at : <A=20 href=3D"mailto:Gizmo98 at earthlink.net">Gizmo98 at earthlink.net</A></DIV> <DIV> </DIV> <DIV>Andon M. Coleman</DIV> <DIV><BR>Senior Programmer</DIV> <DIV>R&D</DIV> <DIV> </DIV> <DIV>Nothing, Inc.</DIV> <DIV> </DIV> <DIV> </DIV> <DIV>P.S. I can't forget to give J=F6rg K=F6nig credit for his nice = little Bitmap=20 Based Dialog code . .=20 ..</DIV></FONT></DIV></DIV></FONT></DIV></BLOCKQUOTE></BODY></HTML> ------=_NextPart_000_002C_01BF0512.BBF7E980-- andon m. colemanSep 22, 1999, 6:02pm
This is a multi-part message in MIME format.
------=_NextPart_000_003E_01BF0513.CF8FF9A0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hmmmmmm --- Converting that out of my DJ BOT and into a simple Sample = BOT has presented a few bugs, maybe by tomorrow I'll have them all fixed = .. . . Regards, Andon13 [View Quote] Q. What's this "Lock-Up Look", and what's it caused by? A. The "Lock-Up Look" is named that because, when you call the AW = SDK Login Functions without any intervention, your Dialog Thread does = not receive the WIN32 Message Pump until each one of functions you call = has finished. Subsequently, your Dialog Thread is not able to do a Redraw, = causing undesired Dialog Painting effects. Q. What is this Thread you speak of? A. Think of a thread in terms of real life . . .=20 Imagine our program as a string of yarn. Now, think back to kindergarten, what is yarn made of? --- Why, = threads of course! =20 This applies to WIN32 Programming also, however, WIN32 Programs = are not usually made of hundreds of threads :) --- Usually there's 2 or = 3, and in the case of simple MFC App Wizard applications, there's 1. =20 This single thread is assigned the job of many things, including = : Repainting the windows, and any code executed from within it (Such as = a while block) . . . While blocks will cause the thread to focus in ONLY = on repeating the code contained inside the block, and not redraw the = windows, or any of the other stuff it's SUPPOSED to do Q. Alrighty, that was a kind of loaded answer . . . How does Andon13 = solve the "Lock-Up Look" problem? A. Haven't you learned anything so far? =3DP The most simple solution to the whole problem is the one used . = .. . =20 In this work-around, we create a Background Worker thread . . . = This thread has no Dialog Boxes or anything assigned to it, so it can = focus solely on the AW SDK Initialization / Login --- Further, it has = the ability to send data to the MAIN Thread, which is the basis for = the nifty looking status indicator used in this solution. =20 Q. Wow, sounds interesting . . . Is it hard to implement? A. No, not at all --- The whole Sample Source code has been = commented from head to toe (Well, the functions relating to the LOGIN = anyway). NOTE: Here's a list of syntax / usage / purpose for the most commonly used = functions in this sample code : Function: Class: = Usage: = = = Return Type: NewStatus(CString LOG, int nTYPE); CLogin Log is = the message to be appended to the status text area of the Status Dialog, = nTYPE is an integer value specifying the type of Status Message being = sent VOID = nTYPE: = -1 =3D Append without increasing the Progress = Indicator's Position = 0 =3D Error --- This removes ANY progress currently = shown in the Progress Indicator = 1 =3D Append and Step the Progress indicator up 1 = notch. Function: = = = Class: Usage: Login (CString chPassword, int nCitnum, int nX, int nY, int nZ, int = nYAW, int nAV, CString WorldName, CString chIP, int nPort, CString = chBotName) CLogin Pretty straight forward . . . This function = is to be called ONLY from within the Thread. Return Type: Boolean -- TRUE if the login completed without any errors, = otherwise, it returns FALSE. Function: Class: = Usage: ThreadFunc (LPVOID pParam) N/A (Global) This is = called with the creation of the thread . . . There is no need to modify = the Input / Output to this whatsoever, however, you may change the = functions called from it (Login being the only important one) Return Type: UINT -- No need for intervention with this, just let = WIN32 Process it. Function: = Class: Usage: = = = Return Type: OnThreadFinished (WPARAM wParam, LPARAM lParam) CLogin = This is called by the Global Scope call to = ::PostMessage(There's some parameter's in here, but who cares? =3D)) = LONG --- Leave this to WIN32 That's pretty much it --- If you have any questions, or find any = BUGs, please E-Mail me : Andon M. Coleman at : Gizmo98 at earthlink.net Andon M. Coleman Senior Programmer R&D Nothing, Inc. P.S. I can't forget to give J=F6rg K=F6nig credit for his nice = little Bitmap Based Dialog code . . . ------=_NextPart_000_003E_01BF0513.CF8FF9A0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Hmmmmmm --- Converting that out of my = DJ BOT and=20 into a simple Sample BOT has presented a few bugs, maybe by tomorrow = I'll have=20 them all fixed . . .</FONT></DIV> <DIV><BR><FONT face=3DArial size=3D2>Regards, Andon13</FONT></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: = 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px"> <DIV>Andon M. Coleman <<A=20 href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>> = wrote in=20 message <A = href=3D"news:37e93262.0 at homer">news:37e93262.0 at homer</A>...</DIV> <DIV><FONT face=3DArial size=3D2>Ooopsies, already I discovered a BUG = .. . . The=20 Name specified is too long . . .</FONT></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; = MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px"> <DIV>Andon M. Coleman <<A=20 href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>> = wrote in=20 message <A = href=3D"news:37e92b4d.0 at homer">news:37e92b4d.0 at homer</A>...</DIV> <DIV><FONT face=3DArial size=3D2> <DIV> <DIV><FONT face=3DArial size=3D2>Q. What is this?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. A method devised by Andon13 to = work around=20 the problems associated with calling the AW SDK Login=20 Functions.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Q. What's this "Lock-Up Look", and = what's it=20 caused by?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. The "Lock-Up Look" is named that = because,=20 when you call the AW SDK Login Functions without any intervention, = your=20 Dialog Thread does not receive the WIN32 Message Pump until = each one of=20 functions you call has finished.</FONT></DIV> <DIV><FONT face=3DArial size=3D2> Subsequently, = your Dialog=20 Thread is not able to do a Redraw, causing undesired Dialog Painting = effects.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Q. What is this Thread you speak=20 of?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. </FONT><FONT face=3DArial = size=3D2>Think of a=20 thread in terms of real life . . . </FONT></DIV> <DIV><FONT face=3DArial size=3D2> Imagine our = program as a=20 string of yarn.</FONT></DIV> <DIV><FONT face=3DArial size=3D2> Now, think back = to=20 kindergarten, what is yarn made of? --- Why, threads of = course!</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </FONT></DIV> <DIV><FONT face=3DArial size=3D2> This applies to = WIN32=20 Programming also, however, WIN32 Programs are not usually made of = hundreds=20 of threads :) --- Usually there's 2 or 3, and in the case of simple = MFC App=20 Wizard applications, there's 1.</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </FONT></DIV> <DIV><FONT face=3DArial size=3D2> This single = thread is=20 assigned the job of many things, including : Repainting the windows, = and any=20 code executed from within it (Such as a while block) . . . While = blocks will=20 cause the thread to focus in ONLY on repeating the code contained = inside the=20 block, and not redraw the windows, or any of the = other=20 stuff it's SUPPOSED to do</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Q. Alrighty, that was a kind of = loaded answer .=20 . . How does Andon13 solve the "Lock-Up Look" problem?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. Haven't you learned anything so = far?=20 =3DP</FONT></DIV> <DIV><FONT face=3DArial size=3D2> The most simple = solution to=20 the whole problem is the one used . . .</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </FONT></DIV> <DIV><FONT face=3DArial size=3D2> In this = work-around, we=20 create a Background Worker thread . . . This thread has no Dialog = Boxes or=20 anything assigned to it, so it can focus solely on the AW SDK = Initialization=20 / Login --- Further, it has the ability to send data to the MAIN=20 Thread, which is the basis for = the nifty=20 looking status indicator used in this solution.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>Q. Wow, sounds interesting . . . Is = it hard to=20 implement?</FONT></DIV> <DIV><FONT face=3DArial size=3D2>A. No, not at all --- The whole = Sample Source=20 code has been commented from head to toe (Well, the functions = relating to=20 the LOGIN anyway).</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>NOTE:</FONT></DIV> <DIV><FONT face=3DArial size=3D2>Here's a list of syntax / usage / = purpose for=20 the most commonly used functions in this sample code :</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2><FONT = face=3DArial=20 = size=3D2>Function: &= nbsp; &n= bsp; &nb= sp; Class:&nbs= p; =20 =20 Usage: =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 = =20 Return Type:</FONT></FONT></FONT></DIV> <DIV><FONT face=3DArial size=3D2>NewStatus(CString LOG, int=20 nTYPE); =20 = CLogin &= nbsp; =20 Log is the message to be appended to the status text area of the = Status=20 Dialog, nTYPE is an integer value specifying the type of Status = Message=20 being=20 = sent &nb= sp; VOID</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;=20 nTYPE:</FONT></DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;=20 -1 =3D Append without increasing the Progress Indicator's=20 Position</FONT></DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p; 0=20 =3D Error --- This removes ANY progress currently shown in the = Progress=20 Indicator</FONT></DIV> <DIV><FONT face=3DArial=20 = size=3D2> &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p; 1=20 =3D Append and Step the Progress indicator up 1 notch.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2><FONT = face=3DArial=20 size=3D2><FONT face=3DArial=20 = size=3D2>Function: &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ;=20 Class: =20 Usage:</FONT></FONT></FONT></FONT></DIV> <DIV><FONT face=3DArial size=3D2>Login (CString chPassword, int = nCitnum, int nX,=20 int nY, int nZ, int nYAW, int nAV, CString WorldName, CString chIP, = int=20 nPort, CString chBotName) = CLogin =20 Pretty straight forward . . . This function is to = be=20 called ONLY from within the Thread.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Return Type:</FONT></DIV> <DIV><FONT face=3DArial = size=3D2>Boolean --=20 TRUE if the login completed without any errors,=20 otherwise, it returns FALSE.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2> <DIV><FONT face=3DArial size=3D2>Function: = =20 = =20 =20 = Class: &= nbsp; =20 Usage:</FONT></DIV>ThreadFunc (LPVOID = pParam) =20 N/A=20 = (Global)  = ; This=20 is called with the creation of the thread . . . There is no need to = modify=20 the Input / Output to this whatsoever, however, you may change the = functions=20 called from it (Login being the only important one)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Return Type:</FONT></DIV> <DIV><FONT face=3DArial size=3D2>UINT =20 -- No need = for=20 intervention with this, just let WIN32 Process it.</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2> <DIV><FONT face=3DArial size=3D2>Function: = =20 = =20 = =20 = =20 = =20 =20 = Class: &= nbsp; =20 = Usage: &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; &n= bsp; &nb= sp; &nbs= p;  = ; = &= nbsp; Return=20 Type:</FONT></DIV> <DIV>OnThreadFinished (WPARAM wParam, LPARAM=20 = lParam) CLogin = &= nbsp; =20 This is called by the Global Scope call to ::PostMessage(There's = some=20 parameter's in here, but who cares?=20 = =3D)) &n= bsp; LONG=20 --- Leave this to WIN32</DIV> <DIV> </DIV> <DIV>That's pretty much it --- If you have any questions, or find = any BUGs,=20 please E-Mail me : Andon M. Coleman at : <A=20 = href=3D"mailto:Gizmo98 at earthlink.net">Gizmo98 at earthlink.net</A></DIV> <DIV> </DIV> <DIV>Andon M. Coleman</DIV> <DIV><BR>Senior Programmer</DIV> <DIV>R&D</DIV> <DIV> </DIV> <DIV>Nothing, Inc.</DIV> <DIV> </DIV> <DIV> </DIV> <DIV>P.S. I can't forget to give J=F6rg K=F6nig credit for his nice = little=20 Bitmap Based Dialog code . .=20 = ..</DIV></FONT></DIV></DIV></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY><= /HTML> ------=_NextPart_000_003E_01BF0513.CF8FF9A0-- |