Hi everyone,

NaN encouraged me to develop a COM object "App Wizard" so the community can shake the "COM's too hard for me" stigma. Well, I'm in progress and heres what I have:


    [*]The Wizard is an HTA or Hypertext Application. So some of you guys will find that Norton Brake-Shoes for CPU Cycles and Macafee Genuine Imitation Snake-Oil will puke a dialog box saying that its a V*rus. It isn't!

    [*]The Wizard will essentially generate all the files in Ernie's MyCOM2 project except it will have a unique name, GUIDs, properties, and methods. Events aren't currently supported however I'm trying...

    [*]The Wizard will also generate a HTA file so you can see your COM object operating from script seconds after clicking the Create Project button.

    [*]LEFT TO DO: I need a command-line app or something that will generate new/unique GUIDs. An exe/com can be called from script and "piped" into the Wizard. Any Ideas?


    This is my first time attaching an image I hope it shows :alright:
Posted on 2002-11-29 18:50:16 by Xtreme
Looks pretty sharp, and impressive for 1/2 a weeks work...

As for your last point, i was just readin a text today that did some talk on how the unique GUID's are created. It didnt give me the holy-grail (ie. source), but from the discription of the requirements, im sure there is public soucre on the net somewhere (for other IDE developers to adhear to the GUID standard).

Basically, there is an algorithm that is "time and space" dependant. Such that your physical location, and the date (right down to the second) determines the next GUID it will spit out. (( Not sounding like a 'joe' task for the average programmer to get right to their standard the first time ;) ))

So for this reason, i would be surprised if M$ is holding back all the info on this engine.

However, this is as much info i can provide you that doesn't violate some proprietary rights, cause VC++ has a nice tool ;)

Best of luck..
:alright:
NaN
Posted on 2002-11-29 22:11:50 by NaN
what about CoCreateGuid from ole32.dll?
Posted on 2002-11-30 01:48:32 by f0dder
Hi f0dder

Thats the function thats been on the tip of my tounge. Thankx. :grin:

Say, at one time I uploaded some add-ins for QEditor to the board. All of the add-ins were related to COM and one in particular generated a normal GUID comment and its ASM translation on the next line. I think I remember Ernie helping me with those. (That source code would help a lot)

Does anyone have a copy?


:alright:
Posted on 2002-11-30 07:23:42 by Xtreme
AH HA! Look at this, we can generate GUIDs using script! Microsoft did something good? :grin:



function clk()
{
var MyGuid;
var guid;

MyGuid = new ActiveXObject("scriptlet.typelib")
guid = MyGuid.guid

MyGuid = null;
alert(guid);
}


I'll probably upload tonight! :alright:
Posted on 2002-11-30 12:56:47 by Xtreme
Were looking at an upload by Sunday noon. I've got something else to do tonight :) :grin:
Posted on 2002-11-30 20:44:31 by Xtreme
Hey Everyone,

I'm running into a problem with looping all of the methods and generating them in the idl and asm file.
Its not an insurpassible problem, but its going to take more time that I thought.

:stupid:

I will upload the final Wizard ASAP (probably Wednesday PM EST).
Posted on 2002-12-02 11:32:57 by Xtreme
Looking good...

Keep up the good work..
:alright:
NaN
Posted on 2002-12-02 16:41:42 by NaN
Here's all the goodies I keep in my Quick Editor for COM stuff:



[&COM Tools]
New GUID,GUIDGen.dll
Convert GUID,AsmGUID.DLL
-
Typelib Translater,\masm32\COM\BIN\TlbToInc.exe
OLEVIEW,\Program Files\Microsoft Visual Studio\Common\Tools\OLEVIEW.EXE
FindGUID,\MASM32\BIN\FINDGUID.BAT
GUID Generator,\Program Files\Microsoft Visual Studio\Common\Tools\GUIDGEN.EXE
-
C&ompile MIDL file,\MASM32\BIN\MIDL.BAT {n}
-
Register DLL,\MASM32\BIN\regsvr32.exe {n}.DLL
Unregister DLL,\MASM32\BIN\regsvr32.exe /u {n}.DLL
-
Register OCX,\MASM32\BIN\regsvr32.exe {n}.ocx
Unregister OCX,\MASM32\BIN\regsvr32.exe /u {n}.ocx


Hopefully they make sense by themselves. Otherwise, submit another reply.
Posted on 2002-12-02 23:10:25 by Ernie