This new version can be found here News: 1) Rewrote everything in asm (size before 888ko, after 29ko) 2) I've used another way to go thru dispinterfaces, now inheritance is shown better. For example with TlbToInc v1.1.1, this was generated _vtFields20 MACRO CastName:REQ ; IDispatch methods _vtIDispatch CastName ; Fields20 methods &CastName&_get_Count Fields20_get_CountVal ? &CastName&__NewEnum Fields20__NewEnumVal ? &CastName&_Refresh Fields20_RefreshVal ? &CastName&_get_Item Fields20_get_ItemVal ? &CastName&__Append Fields20__AppendVal ? &CastName&_Delete Fields20_DeleteVal ? ENDM _vtFields15 MACRO CastName:REQ ; IDispatch methods _vtIDispatch CastName ; Fields15 methods &CastName&_get_Count Fields15_get_CountVal ? &CastName&__NewEnum Fields15__NewEnumVal ? &CastName&_Refresh Fields15_RefreshVal ? &CastName&_get_Item Fields15_get_ItemVal ? ENDM with TlbToInc v1.2, this is generated _vtFields20 MACRO CastName:REQ ; Fields15 methods _vtFields15 CastName ; Fields20 methods &CastName&__Append Fields20__AppendVal ? &CastName&_Delete Fields20_DeleteVal ? ENDM _vtFields15 MACRO CastName:REQ ; _Collection methods _vt_Collection CastName ; Fields15 methods &CastName&_get_Item Fields15_get_ItemVal ? ENDM 3) Added translation of structures and unions. There are 2 problems with structs: a. A struct may be used before it's declaration. You'll have to cut and paste the code. b. Some types defined in struct or unions may not be translated like UINT_PTR or LONG_PTR... Sorry for the inconvenience. I'd like to thanx NaN for testing pre-versions. This message was edited by Amokila, on 3/25/2001 4:02:45 PM
Amokila, This version has problems that I can't explain nor have I ever seen... you can see a snapshot: tlb2inc1.jpg I'm using win98se... this only happens after it does the coloring. For exapmle, while it generating the code, everything is okay. Only once it does the coloring does this problem ocurr. I don't know what happens if I copy and paste, haven't tried. So far, it's just the display. _Shawn Copy and paste the URL directly and you should be able to see it... http://visualassembler.freeservers.com/tlb2inc1.jpg Update 5: Well, I can't seem to place this jpg on any freely hosted server, because it seems to violate permissions or whatever... which sucks... so I can't show you the snap. Anyway, so... if someone can help me... let me know... otherwise, don't know what to say... This message was edited by _Shawn, on 3/25/2001 6:12:49 PM This message was edited by _Shawn, on 3/25/2001 7:28:40 PM This message was edited by _Shawn, on 3/25/2001 7:29:19 PM This message was edited by _Shawn, on 3/25/2001 7:31:18 PM This message was edited by _Shawn, on 3/25/2001 7:32:02 PM This message was edited by _Shawn, on 3/25/2001 7:32:23 PM
Shawn, I can't get in to see that jpg: Forbidden Host: [18.104.22.168] You do not have permission to access http://visualassembler.freeservers.com/tlb2inc1.jpg Data files must be stored on the same site they are linked from. Thank you for using Freeservers
go to _Shawn's link cut the tlb2inc1.jpg press enter on his main page add tlb2inc1.jpg press enter ;)
He knows... i sent him a simular .jpg yesterday... There is a problem with the syntax hightlighting.. it draws all the normal text in black.. and secondly, the highlighted text is 'skewed' off the origional from having a bolder width.. makes the entire thing hard to read... NaN
Yeah i know about this problem ... NaN have the same but it just works fine on my computer :( Shawn and NaN do you both have Large Font installed ?
Amo, Large fonts? Nope... I'm using default windows scheme and settings pretty much. I'm wondering, since that's a RichEdit Control, Richedit20a to be exact (on my machine) could it have anything to do with IE 5.5 SP 1 installed? Which upgrades it? Office 2k or IE 5.5 SP1? SQL Server 2k may not have an effect on RichEd Control. That's the newest program I'm aware that I have, except I do have latest and greatest splatform SDK installed... hmm... I did just install Visual Studio SP5... that would be latest and greatest... what machine did you compile this on? Which OS I mean? It almost appears to be layered... that's wierd... Thanks, _Shawn
Amo, Found another prob, this happens in Win2k SP1 IE 5.5 SP1 VS SP5... it will not open any DLL, not matter what it is or not, COM or not... but it works fine everywhere else... and displays properly. Thanks, _Shawn
Version 1.2.2 uploaded Bugs fixed: - syntax highlighting on win98 - removed the forward declarations (didn't work properly) - now tlb2inc walk thru type libraries backward. It should limit cut and paste of code (having a compilable version of msado15.dll required 5 cut and paste) Limitations: - strutures, union and interfaces may be used before their declaration :-( Shawn: thanx for the report... i have Win2k Sp1 with IE 5.0.xx so i can't reproduce the bug
Amo, Later tonight once I get home, I'll run an api spy program for the Kernel32 and see what function it's failing on. One of my upcoming utilities (and tutorials) is on API spying. I may as well resolve one of it's uses right now... :) _Shawn
Maybe its just me, but even with this latest release(1.2.2) the only DLL I can open is riched20.dll OCX & TLB work just fine. Only tried a few EXE but haven't goy any to open. I am using Win98SE w/IE 5.5 & Win98 w/IE 5.0 sp1 and both have the same problem.
Anon, Try creating a DLL in VB and then try opening, just "in-case" there's something non-COM about those other DLL's... Thanks, _Shawn
i'm actually having both problems... win95 & win98 i'm having the one seen in the image file & up until just a minute ago... i was wondering about myself b/c i could open anything i tried. but the riched20.dll works. Oh yea, now that i've gotten a taste... i LIKE! :):):)
Sorry, I don't have or use anything but MASM32. But I do have a few dll's created by other people with VB. They don't open. And as an exercise, I tried to open every dll in the Windows\System folder. Only riched20.dll will open.
Amokila, since it's in ASM now, could you release the source :) Hey, don't hurt to ask :D Thanks - great tool, bitRAKE
If a structure may be used before it is declared, could you not parse into two files? Have a dedicated struct file, and the normal file, and just include blah_struct.inc at the top of it! It'd also mean browsing structures is easier (if you ever have to :P ) Its a simple solution to the problem! Mirno
Since includes are usually included first in a program, you can include ANYTHING there, since it's parced FIRST, then the rest of the code, hence it's not a forward reference. But, anyway, I just made a quick test. MASM is quite happy with forward referenced structures. It's odd when it DOES NOT like forard references, because MASM is billed as an 'N' pass assembler, IE, it keeps making passes until it's done or stop finding new things. ------------------------------- "I saw weird stuff in that place last night. Weird, strange, sick, twisted, eerie, godless, evil stuff. And I want in."