Hello Guest it is May 18, 2024, 02:14:09 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - jemmyell

Pages: « 1 2 3 4 5 6 7 8 9 10 11 »
11
Hi Tom,

Let me see what I can do.  If I can find the time I will add a menu to CustomPlugin then you can just ask questions.  I don't think I have time to work on the docs now.

I look forward to seeing your creation!

-James

12
Mach SDK plugin questions and answers. / Re: Com Interface Questions
« on: February 18, 2009, 01:43:13 PM »
Hi,

Ok, then you are connecting an EXE in Delphi out-of-process.  I have zero experience with that.  If you look at the same source code you will see how to get the Mach3 main window HWND using FindWindow.  The trick is the window caption has a trailing space character that is not visible.  If you include that FindWindow work just fine.

Why not write a plugin using the techniques I show, then export C linkage functions that you can call from your other applications?  That way you have a single instance of the scripter that you can reuse in multiple external EXE applications.

-James

13
Mach SDK plugin questions and answers. / Re: Com Interface Questions
« on: February 18, 2009, 12:09:32 PM »
Hi,

Why do you need to attach and detach from the Object Model during a single session?  Anyways, I believe there are some reference counting issues, I DO NOT Release() any interfaces at shutdown time since it appears that the Scripter has already gone away at that point...

See the Mach3ObjectModel.cpp and .h files in the Custom Plugin posted in reply #41 in my tutorial thread.

http://www.machsupport.com/forum/index.php/topic,4884.0.html - reply #41

-James


14
Mach SDK plugin questions and answers. / Re: Mach3 Plugin Licensing System
« on: February 12, 2009, 10:06:39 AM »
Hi Wolfram,

I have sent you a PM.

-James

15
Hi Tom,

Yes convert numbers to strings then store them in a .INI file,  use GetPrivateProfileString to read the data:

http://msdn.microsoft.com/en-us/library/ms724353(VS.85).aspx

and WritePrivateProfileString to write to the .INI file

http://msdn.microsoft.com/en-us/library/ms725501(VS.85).aspx

example: A file that contain options settings would contain

[options]
option1=string1
option2=string2

You CAN put INTs into a profile file (.INI file) but I don't do that since strings are more versatile.

-James

16
Tom,

I don't know of a way to do this visually.  Just use the SDK calls and provide the window handle of the dialog.  It should work for what you need to do.  Consider learning multithreading.  Timers get to be a reall mess very quickly, and they always use resources even if then is nothing to do when the WM_TIMER message is received.  For one or two, no problem though.

-James

17
Hi Scott,

Here is a good article on owner draw LED style controls.

http://www.codeproject.com/KB/buttons/LedButton.aspx

-James


Ok
      thanks guys, James has found and offered the solution for the error message if you uncheack plug in enable and shut down.
I had gotten this also, but, it didnt really effect anything.  Mach Comes back up fine.............

BUT, I will implement his fix for this and resend you all a version 1.2

Fernando:  The Cheack box for the LEDs is a "Read Only" check box. it just reports the state of the led your looking at you cannot change the state of an LED by cheacking or uncheacking the LED check box.  The only way it changes is for you to push the toggle button. the code in the button flips its state and the cheack box just reports its new state.

I will look and see if there is a way to disable unser Input into the check box, if there is, I will fix it to, otherwise it will have to stay.

I was looking for some quicky, "Owner Draw", code in which I could replace the cheack with a solid green, and un cheack with solid Grey, like the LEDs do in Mach.

scott

18
Hi Tom,

Are you using DbgMsg from my tutorial?  If you enable that in the 10 HZ loop you will get flodded with output but you can see if mYupdate is being called.  myHighSpeedUpdate is NEVER called by Mach3 it is a timer, but if you are using it there is a watchdog in the code that will disable it if myUpdate stops (meaning your plugin thread has crashed).

ANYTHING you do in myUpdate needs to be VERY fast and you must return control to Mach3 ASAP or you will crash.

Here is a good article on time and timers and why they will never be very precise.

http://www.codeproject.com/KB/system/simpletime.aspx

What you should do is run a scheduling thread and have it PostMessage a notification to the dialog window at 100MS intervals.  This will be much closer.

Here is an article on multithreading.

http://www.codeproject.com/KB/threads/MultithreadingTutorial.aspx

-James






19
Mach SDK plugin questions and answers. / Mach3 Plugin Licensing System
« on: February 08, 2009, 02:46:42 PM »
Hi, I am extending my consulting work to include license system integration services for plugin developers.  Please try the demo if this is of interest to you.

-James Leonard

20
Ed,

GREAT work!  I have a proxy DLL based solution running that supports VC++ 6, 2005 and 2008 in my office.  But since they ARE using proxied pointers from a VC++ 2003 master plugin your solution is probably better.

Looks like I will probably back-burner that project!

-James

Pages: « 1 2 3 4 5 6 7 8 9 10 11 »