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 #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:
1
2 3
It is now over 60 days since the last post. This thread is closed.
Refresh page
top