Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Plugins ➜ Super Health Bar plugin with external VB program

Super Health Bar plugin with external VB program

It is now over 60 days since the last post. This thread is closed.     Refresh page


Pages: 1  2 3  

Posted by Shadowfyr   USA  (1,791 posts)  Bio
Date Reply #15 on Sat 29 Nov 2003 07:53 PM (UTC)
Message
Very strange.. It registered properly for me... My guess would be that it needs an administration level access and you are using a normal user account. The bar will apparently install these keys:

--------------

REGEDIT4

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}]
@="MUSHclient_bar.Bar"

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\ProgID]
@="MUSHclient_bar.Bar"

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\LocalServer32]
@="C:\\PROGRAM FILES\\MUSHCLIENT\\WORLDS\\PLUGINS\\MUSHCLIENT_BAR.EXE"

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\TypeLib]
@="{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}"

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\VERSION]
@="1.0"

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]

[HKEY_CLASSES_ROOT\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\Programmable]

[HKEY_CLASSES_ROOT\MUSHclient_bar.Bar]
@="MUSHclient_bar.Bar"

[HKEY_CLASSES_ROOT\MUSHclient_bar.Bar\Clsid]
@="{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}"

[HKEY_CLASSES_ROOT\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}]

[HKEY_CLASSES_ROOT\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0]
@="MUSHclient_bar"

[HKEY_CLASSES_ROOT\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\0]

[HKEY_CLASSES_ROOT\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\0\win32]
@="C:\\PROGRAM FILES\\MUSHCLIENT\\WORLDS\\PLUGINS\\MUSHCLIENT_BAR.EXE"

[HKEY_CLASSES_ROOT\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\HELPDIR]
@="C:\\PROGRAM FILES\\MUSHCLIENT\\WORLDS\\PLUGINS"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}]
@="MUSHclient_bar.Bar"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\ProgID]
@="MUSHclient_bar.Bar"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\LocalServer32]
@="C:\\PROGRAM FILES\\MUSHCLIENT\\WORLDS\\PLUGINS\\MUSHCLIENT_BAR.EXE"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\TypeLib]
@="{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\VERSION]
@="1.0"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\Implemented Categories]

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}\Programmable]

[HKEY_LOCAL_MACHINE\Software\CLASSES\MUSHclient_bar.Bar]
@="MUSHclient_bar.Bar"

[HKEY_LOCAL_MACHINE\Software\CLASSES\MUSHclient_bar.Bar\Clsid]
@="{3AF6B065-CF8D-11D7-A78D-0080AD7972EF}"

[HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}]

[HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0]
@="MUSHclient_bar"

[HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\FLAGS]
@="0"

[HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\0]

[HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\0\win32]
@="C:\\PROGRAM FILES\\MUSHCLIENT\\WORLDS\\PLUGINS\\MUSHCLIENT_BAR.EXE"

[HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{3AF6B063-CF8D-11D7-A78D-0080AD7972EF}\1.0\HELPDIR]
@="C:\\PROGRAM FILES\\MUSHCLIENT\\WORLDS\\PLUGINS"

--------------

Now why if you are able to install other programs on your computer that adds to or changes HKEY_CLASS_ROOT, then I have no idea why this one is causing you problems, but it sounds like the OS is literally refusing to run the program. I assume that would only happen if the program attempted to register and you where in a restricted user account. This is however only a guess, I really haven't a clue if this is why.
Top

Posted by Nick Gammon   Australia  (23,165 posts)  Bio   Forum Administrator
Date Reply #16 on Sat 29 Nov 2003 10:36 PM (UTC)
Message
I had a similar problem when I tried running it on a different PC. I can only say that if you have VB and compile it, it should work, as that is how I developed it.

Using the precompiled one may or may not work. I released it in the hope that it would work for some people, as that is better than nothing.

My very first post in this thread says:

Quote:

However I am finding that when attempting to run it on other PCs I get strange behaviour, like missing VB DLLs, and other things. However you may be able to make it work, especially if you have VB installed.


I stand by that comment.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,165 posts)  Bio   Forum Administrator
Date Reply #17 on Sat 29 Nov 2003 10:37 PM (UTC)
Message
BTW, this is what annoys me about VB. You should be able to develop an application without having to download megabytes of "supporting files", whatever they are.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Johnathan Allen   (49 posts)  Bio
Date Reply #18 on Sat 29 Nov 2003 11:16 PM (UTC)

Amended on Sat 29 Nov 2003 11:22 PM (UTC) by Johnathan Allen

Message
I do have admin access, and I manually changed my registry settings to those that you specified, Shadowfyr, and its loading and unloading fine. However, I am getting this:


Error number: -2146828275
Event:        Execution of line 58 column 3
Description:  Type mismatch
Called by:    Function/Sub: OnPluginConnect called by Plugin Super_Health_Bar
Reason: Executing plugin Super_Health_Bar sub OnPluginConnect


It seems to be failing somewhere withing the If barobject is nothing... and the final end if before the end sub. I dunno.
Top

Posted by Shadowfyr   USA  (1,791 posts)  Bio
Date Reply #19 on Sun 30 Nov 2003 12:57 AM (UTC)
Message
Hmm.. As I said in one of my posts Nick. It is better to use the package and deployment wizard to make and installer. If you don't, then you run into anything from missing dlls that are absolutely needed to incorrect versions of ones that are installed, and which thus don't work. It is true that this is one of VBs biggest pains and the reason why they moved to the .NET system. However, then you get stuck having to screw with installation if the .NET dlls, so same issue.

As for the error your getting Johnathan, this is why I hate having no debugger for some languages.. According to my count the line that is causing a problem would be:

barobject.SetTitle world, world.WorldName

which makes absolutely no sense at all....
Top

Posted by Johnathan Allen   (49 posts)  Bio
Date Reply #20 on Sun 30 Nov 2003 01:33 AM (UTC)
Message
Indeed, that is the line, when I comment it out, the error goes away.
Top

Posted by Shadowfyr   USA  (1,791 posts)  Bio
Date Reply #21 on Sun 30 Nov 2003 06:30 PM (UTC)
Message
Hmm.. Ok, I see what the problem is... The line should probably be:

barobject.SetTitle getworld(worldname), worldname

This line is supposed to pass an object and a string to the health bar, which sets the object that connects back to Mushclient and the title of the window. I have no idea how or why it works for me, 'world' by itself may be a valid object and seems to work without any apparent issues on mine, but may be failing in some rare cases. The only callbacks seem to appear in the Form_Unload, which activates when someone hits the close button on the form. Due to the way COM works, this kills the form, but doesn't release the object (a problem I have with my firework gadget as well).

It would probably be better if the close button was removed, since all it does is screw things up when used in cases like this. To use it you either need to inform the plugin that it closed, which you can't do with something like mine, where it may be used with something other than Mushclient, or you have to reload the form if some fool closed it. Neither case is all that helpful. In fact, due to the way that Nick's is coded, you can't even use it with a plugin that differs from the one it was designed for, since the callback to inform the plugin that it closed is hard coded to the ID for that plugin. This is one situation where having the script sleep is extremely inconvenient, a much better solution would have been to use an object event sub that would automatically be called when that happened. This is how most programs and script system would handle such things, but since Mushclient puts the script engine to sleep when not using it there is no way to respond to such events. :( Though... I wonder if the event is passed direct to the script or there might be some way for Mushclient to 'catch' the event so it knows to let the script wake up and respond..... With my luck, probably not..
Top

Posted by Nick Gammon   Australia  (23,165 posts)  Bio   Forum Administrator
Date Reply #22 on Mon 08 Dec 2003 06:20 AM (UTC)
Message
Quote:

... since Mushclient puts the script engine to sleep when not using it there is no way to respond to such events.


MUSHclient doesn't put the script engine "to sleep" any more than you put your subroutines to sleep when you aren't using them. They are called when they are supposed to be called and when they are not in use they are just sitting there.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Shadowfyr   USA  (1,791 posts)  Bio
Date Reply #23 on Mon 08 Dec 2003 05:21 PM (UTC)
Message
Hmm. Yes. From some things I have read, the script engine itself (for VBScript and JavaScript) may actually lack the ability to directly respond to events. I am not certain of this though. I do know that when I tried to use the On_SongChange event (or what ever it was called) for the WinAmp COM control, the script was unable to respond to it at all. It appears that clients which this does work in may be intercepting the createobject call and doing something like:

Script - CreatObject("Blah.Blah")
Client - Intercepts and executes its own CreateObject.
Client - Places new object into a control list and passes a reference to the script.
Script - Executes calls on the reference OK.
Event - Triggers the *client's* event handler, which identifies the event and calls the appropriate script.

I have no idea if this is actually the case, but I started nosing around in the articles at the MS news servers that relate specifically to script hosting and one said something to the effect that, "MS scripts are not event driven", which was in response to a near identical problem. I take that to mean that some construct like above is needed to actually handle events, otherwise the controls events are ignored. This is frustrating to say the least, since about 90% of the prebuilt programs that you could attempt to use with Mushclient probably use such events, since they haven't a clue what Mushclient is or what a plugin is. :(

I have been trying to find a way around this issue for a while and I think I am now at a dead end.
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #24 on Mon 08 Dec 2003 08:32 PM (UTC)
Message
I think the problem here is a misconception that scripts can do anything and can solve all the world's problems... the fact of the matter is that scripts are simply not all powerful and certainly won't solve all the world's problems. :)

About the events... It's true, if you nose around a bit in the VBA documentation you'll see indeed that the scripts aren't event driven. It's because of a fundamental difference in the way applications and scripts work, which I won't go into.

To have plugins or something respond to an event, you'd most likely need something like what you described, where the program hosting the scripts listens for events, and has a list of what plugins want to know about an event.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Shadowfyr   USA  (1,791 posts)  Bio
Date Reply #25 on Mon 08 Dec 2003 11:18 PM (UTC)
Message
I didn't think they did solve all the worlds problems, but having seen most of them in IE or other browsers, where they can and do respond to some events, finding that this wasn't a built in feature came as a nasty surprise. ;)
Top

Posted by Theman007   (6 posts)  Bio
Date Reply #26 on Sat 07 Feb 2004 09:57 PM (UTC)
Message
I know it's usually not a good idea to mess around with the registry, but could you explain how to install the necessary keys to get the health bar to work?
Top

Posted by Nick Gammon   Australia  (23,165 posts)  Bio   Forum Administrator
Date Reply #27 on Sun 08 Feb 2004 01:14 AM (UTC)
Message
Well, at your own risk, copy what Shadowfyr said, between the hyphens.

Paste into a Notepad window, save as blah.reg.

Start regedit, go to Registry -> Import Registry File.

Select the blah.reg file.

All done!

If we don't hear from you again we'll know it corrupted your computer and you are spending all next week re-installing Window. ;)

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Theman007   (6 posts)  Bio
Date Reply #28 on Sun 08 Feb 2004 06:48 PM (UTC)
Message
Bombs away! :)
Top

Posted by Theman007   (6 posts)  Bio
Date Reply #29 on Tue 10 Feb 2004 03:05 AM (UTC)
Message
Registry survived alright, but I got this crytic error in a red background when I made a connection with the host:

Cannot execute bar display program
Check it is installed.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


135,405 views.

This is page 2, subject is 3 pages long:  [Previous page]  1  2 3  [Next page]

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.