PDA

View Full Version : Cdecl possible in visual studo



ReneMiner
23-05-2021, 06:20
and everything else that Microsofts Speakers want to tell would not work because of compatibility-reasons is making up reasons only. Try to open a .hlp file on a cdrom from the time there were cd-roms... You know, in windows 10 not possible. Microsoft engineers are on it since ... Windows 10 was released? One day after users complained they can not open their older help-files any more the developers of Oracle (Delphi) reacted and released a tiny little program that according to microsoft is impossible to develop. I mean how many years we have windows 10?
And now some guy from -i guess russia or eastern europe calls himself "The Trick" (found him on this forum- just check his signature) (https://www.vbforums.com/showthread.php?829363-VB6-Loader-shellcode-without-runtime) and is deveoping "Bug-Fix after Bug-Fix" and friendly excuses himself for fixing Bugs that Microsoft developers have overseen - revealing the secrets how this company tries prevent people from using microsoft products in a way the could earn one penny of what MS already claims to be their property. Now cDecl was made impossible and only buggy STD and a "native"-always working format to build exe files but mainly dlls. Its not possible no one can do anything about it people, swallow that and accept it... The trick probably not so good in english just did not understand it and did not listen.

Visual Basic 6 - get yourself an enterprise-edition for free from the ancient cd-rom-collections (https://archive.org/details/community?query=visual+studio+6.0&sin=) or find one in your language here (https://winworldpc.com/product/microsoft-visual-bas/60) - take an iso - cheers. :drink::drink: and dont forget to grab a copy of the MSDN for Visual Studio 6, the ServicePack 6 - should fit your chosen language - and since that all was long ago and before the invention of the wheel you might be in the need of this (https://forums.highrez.co.uk/viewforum.php?f=6&sid=be5eb96664d8b60a976a5c235723104f) because hooks had the hook once a bug is encountered and still hooked a mouse will crash the whole IDE.

I did not read of the Trick for a couple of weeks. Probably he is fixing the bugs in VS 2019. I remember it has issues with licenses expiring and developers could not open their projects anymore and oops sorry there was probably a mistake when the software was locked with VS and all of a sudden landed on a server where some companies should actually never had access to and oh my god they put it in their shopping cart by clicking the little image and paid for it- now what could anyone have done since no one knew that it happened within the billions of transactions every day on the web...

Yeah, sorry too. Am awaiting a little bugfix na - and what i will do is anyway totally impossible so no fear- it can not happen say the wise men from the big company and no one can do things like that...
Before i forget it here is the trick of the trick (https://github.com/thetrik/VBCDeclFix/commit/296bb4c8bad40898d70c0a95a6f84cbd4d239bb4) - open to share with anyone interested because i am pretty certain they are re-using that pattern since... then... visual studio 3 or so 1994 - as the product keys-system that MS for big money purchased and applied since Vista?
- another oopsie -it was stolen by some evil bad man hacker with a dangerous looking keyboard in his hands and the poor company only has less than a hundred product keys left so they must re-use the same keys over and over again since a couple of years now because they need around 80 of these keys company internal. No employee shall have access to the nudes that the boss - excuse - 'remote support features- should not have, bcause hm hm Boss administrator you know. Employee only network control chief assistant

come on smile a bit - just making fun:D


@kcVinu i saw the other thread yes - great. VB6 was the origin of the common controls we use still today and vb6 is full unicode and was so far ahead the had to backward develop it to ANSI so vB was able to exchange Data with all other visual studio components. it is so crazy that 2 vb6-apps for communication do the following: App1 send data to App2 simple, no COM just WM_SendMessage APP2 receives Message and signal of app1 that says" Hey i am Part of Visual Studio 6" and App 2 now registering VS98--- tick tick tick communication slows down and app2 converts automatic the unicode to ANSI before it sends the message and app1 receives it and decodes it back to unicode.

Now aint that crazy_

ReneMiner
23-05-2021, 08:20
quickly add that one:
Installing vs98/vb6
you must not have any registry-settings pointing any vs6-products.
You need to use 7z and go to the installation of internet-explorer 4 - inside a .cab-file you will find msJava.dll
before you start the installation copy "msjava.dll" to your %Systemroot%\SYSWOW64 then on console prompt type

regsvr32 /i msjava.dll

that will avoid the reboot during installation of visual studio 6 and you will no be forced to install msjava thats developement was stopped in 2002 anyway.
Also be aware of the pathnames length i am not sure how much it was but if you leave it as Microsoft VisUAL sTUDIO IN c:\PROGRAM FILES (X86) YOU WILL EXPERIENCE THE FILES NOT INSTALLED ROPERLY AS THEY BELONG - OOPS MY CAPS IS LOCKED again... Also names are limited to 40 chars and... yes, option Base 1, put it into all templates already to use 1-based calculation...
if install will not finish and get stuck mount iso of the msdn before you unmount cd2 of visual studio and thats all you can do if it happens. also avoid mounting both vs cd isos or having copies of iton any drive when it installs and searches for already installed components. If a messagebox opens and says it has located any portion of visual studio in an uncommon place agree to yes put it in the default location. then when you are don -including MSDN export the registry settings paste them together in a text-editor and ex change the path if you like and move it somewhere before you run it the first time.

Look for a control named MS Scriptcontrol. According to the docs it can not only be used with VBscript and jScript but any scripting language as long it is registered for the WSH -windows script host. Search your registry for the wsh in hklm and hkcu - it requires a valuename "Enabled" and a DWord set to 1 to enable scripting

and for that i miss a key:


'----------------------------------------------------------------------------
'[] thinBasic_Init
'============================================================================
'
' Description
' the 3 functions below to call in sequence in order to execute a script
' when using thinCore.dll (thinBasic engine) as embedded scripting language
' NOTE:
' to inform thinBasic what path - besides the one this started from -
' holds required ressources to work with, insert tb_AddIncludePath
' right after tb_Init and before tb_Run
'----------------------------------------------------------------------------

Public Declare Function tb_Init Lib "thinCore.DLL" Alias "thinBasic_Init" (ByVal hWnd As Long, ByVal cInstance As Long, ByVal sKey As String) As Long


' ByVal hWnd As Long
' ByVal cInstance As Long
' ByVal sKey As String

'----------------------------------------------------------------------------
' Returns: Long, guess a handle to pass as hScript below
'======================================
'[] thinBasic_Run

Public Declare Function tb_Run Lib "thinCore.DLL" Alias "thinBasic_Run" (ByVal hScript As Long, ByVal sBuffer As String, ByVal BufferType As Long, Optional ByVal Options As Long, Optional ByVal DebugMode As Long, Optional ByVal LogMode As Long, Optional ByVal ObfuscateMode As Long, Optional ByVal CallingProgram As Long, Optional ByVal DependancyMode As Long) As Long

' ByVal hScript As Long
' ByVal sBuffer As String
' ByVal BufferType As tbBuffertype
' Optional ByVal Options As Long
' Optional ByVal DebugMode As Long --- tbTrue or tbFalse
' Optional ByVal LogMode As Long --- tbTrue or tbFalse
' Optional ByVal ObfuscateMode As Long
' Optional ByVal CallingProgram As tbCallingProgram
' Optional ByVal DependancyMode As Long
'----------------------------------------------------------------------------
' Returns: Long
'======================================
'[] thinBasic_Release
Public Declare Function tb_Release Lib "thinCore.DLL" Alias "thinBasic_Release" (ByVal hScript As Long) As Long


' ByVal hScript As Long
'----------------------------------------------------------------------------
' Returns: Long
'======================================

#End If


' if not embedded this could be a dll-module or interact in a way that
' new keywords for thinBasic are exposed. Use the functions below for
' initial introducing keywords and to prepare whatever is needed and
' finally, in UnloadLocalSymbols you would have the last chance before
' execution stops to cleanup the mess you made...
' (applies to dll or only when thinBasic is the mainthread)
'----------------------------------------------------------------------------
'[] thinBasic_AddIncludePath
'============================================================================
'
' Description
' when a file us specified in #INCLUDE withou a fully qualified path
' thinBasic will search for the file using script or executable path
' If not found, thinBasic will search in some directories specified by #INCLUDEDIR.
' This function is the equivalent of #INCLUDEDIR but executed from the outside
' of the script

' Note
' Call this function after thinBasic_Init but before thinBasic_Run

'======================================
'[]
Public Declare Function tb_AddIncludePath Lib "thinCore.DLL" Alias "thinBasic_AddIncludePath" (ByVal sNewIncludeDir As String) As Long

'----------------------------------------------------------------------------
' ByVal sNewIncludeDir As String --- full path of additional #IncludeDir where
' thinBasic will search for files
'
'----------------------------------------------------------------------------
' Returns: Long
'======================================


the first of these functions has to pass a key and - yes you see it right it's visual basic 6 syntax -but i do not know what to pass for sKey? Secret key? i demolished the old keyboard alread broke the s-Key off from it but it was not accepted...

i habe another approach than "the trick" fooling the ide to make useable dll-files for thinBasic but thinBasic whem it just thinks it makes an exeit ,akes a dll in realityand for numberd - in ascii-rangeoffers so many functions that it were a nonsense having to develop them in vb6. And for ActiveX.exe vb6 can run multithread and would allow (fooling the compiler a bit) making dll instead of exe. ThinBasic starts implementing and coordinating vb6.dll and let it just invoke a few threads (services, drivers, pseudo-loops where a script is started that just runs a frame , started again then and again... And vb needs tB to handle some data types. its just less cumbersome if vb only stores the data asking advice from tb how to store and how to present it instead of building those types again with all the math and comparison stuff.
VB6 has 3 not documented features VarPtr, StrPtr and ObjPtr , uses string type OLE BSTR for dynamic strings and delivers the unicode conversions (StrConv) - can in the same process share heap-memory with tb -careful make the heap readOnly for the non-writing side so both have a heap to write and will read in the other heap only to prevent from access at the same time.

i really would like to use tb for scripting of things as using Ext-Variables as in tB and not as half-implemented 96-Bit variant-decimal with the precision of a steam-engine driven piece of wood because it is a display-only-type but not able to calculate
It has also built i64 signed 64 Bit type currency is only faked to be divided by 10 000 to show 4 digits after decimal seperator
With some asm this could be "fixed" to have Int64/UInt64 - and i think vb6 is the most used language that you will find all over the web. you will not find that much about any single .net-edition as for vb6...