Search:
Type: Posts; User: The trick
Search:
Search took 1.69 seconds; generated 8 minute(s) ago.
-
Initialization of the runtime is a complex process. It includes the several stages. The runtime requires common initialization for each thread in process that interacts with runtime. It is required...
-
If you want to export functions and call them from any language you should initialize the runtime. There are several methods to do it. The most simpler is to create an public object using Reg-Free...
-
atof (like Val/CDbl) universal function. It supports whole double range:
Private Sub Form_Load()
Dim b() As Byte
b = StrConv("0.00000000000001" & vbNullChar, vbFromUnicode)
...
-
When you pass an array item to an API (VarPtr) it locks array (SafeArrayLock), calls the API (VarPtr), unlocks array (SafeArrayUnlock). If you need to increase performance you could use a pointer...
-
You could make like this:
l = VarPtr(bb(0))
For i = 1 To 40000000
d = atof(l)
Next
To avoid locking/unlocking array and improve performance.
-
VanGoghGaming, install this and
Option Explicit
Private Declare Function atof CDecl Lib "msvcrt" (ByRef psz As Any) As Double
Private Sub Form_Load()
Debug.Print atof(ByVal "1.2345")...
-
-
For P-code you can get the addresses for all the functions. Regarding PDB, you can just remove it after patching the executable.
-
It's possible but you need to create an Add-in. This Add-in should force to produce PDB file and replace Main subroutine in VBHeader.lpSubMain to your initialization procedure which calls all the...
-
Thank you but it had a bug related to recursive releasing (just remove UnmapViewOfFile from Class_terminate to avoid this rare case bug).
-
Thank you for testing but i think it isn't related to my class. Remove all the subclassing thing and do the same with UserControl_Resize event.
...
-
Elroy, does mine crash? This should survive both the stop button and end statement.
-
I still don't understand the end goal of this idea. You can enumerate standard modules, moreover you can enumerate functions (if executable has debug symbols) but i don't understand why?
-
You could replace Main subroutine in VBHeader.lpSubMain with your initialization function after compilation but it's better to use predeclared_id objects instead.
-
You need to use any compiled code (DLL/Thunk).
-
Create a separate thread. As far as i remember you can enumerate standard modules (and their ranges) but can't enumerate functions (only heuristic analysis) in native code (only in p-code).
-
I meant we don't need to intercept any msvbvm60 functions (as VanGoghGaming wrote). So if you use an external DLL with a COM object you can use safe subclassing in IDE. Mine uses this approach but...
-
This isn't required. You just need to use an COM object which is released when the code stops.
-
https://www.vbforums.com/showthread.php?896322-Code-in-Form-vs-code-in-Module-Why-one-more-the-other&p=5567231&viewfull=1#post5567231
-
https://www.vbforums.com/showthread.php?788237-VB6-TrickControls
-
https://www.vbforums.com/showthread.php?829387-VB6-TrickSound-class-for-working-with-audio
-
Thank you so much fafalone! I can't give reputation because forum requires spreading to another user.
-
https://www.vbforums.com/showthread.php?862205-Direct2D-Typelib-for-VB6&p=5597152&viewfull=1#post5597152
https://www.vbforums.com/images/ieimages/2023/03/5.png
-
https://www.cyberforum.ru/visual-basic/thread3086025.html#post16785777
-
FOO rgFoo[] = FOO* rgFoo;
PFOO rgFoo[] = FOO** rgFoo;
-
You shouldn't ever use TerminareThread because it causes resources leaking.
-
https://learn.microsoft.com/ru-ru/archive/msdn-magazine/2013/august/directx-real-time-realistic-page-curling-with-directx-c-and-xaml
-
You could do this using Direct3D if you need true bending. It's quite simple to do a fake (without curve bending) in GDI/GDI+ using rotations.
-
Open NUL device, query handle information through ZwQuerySystemInformation SYSTEM_HANDLE_INFORMATION. Search for your handle in the list. SYSTEM_HANDLE_INFORMATION.ObjectTypeIndex contains the type...
-
http://vbstreets.ru/VB/Articles/66343.aspx
http://vbstreets.ru/VB/Articles/66404.aspx
Just open NUL device and get the type number through NtQueryObject.
-
See this example of the multithreading module. It uses the several threads to draw a portion of the pixels per thread.
-
ByVal = IUnknown*
ByRef = IUnknown**
-
-
You can "decompile" TLB to IDL using OleView.
-
Runtime does cleanup. All the global/static variables (as you already wrote) is isolated so the runtime keeps the track for the last reference in the current thread. When there is no variables it...
-
va_start just points arglist to the first variadic argument after parameter dwCount.
Each va_arg offsets the arglist by the size of the second argument so the first entry in the stack is 4 bytes...
-
I have a small TLB and create the thread inside Ax-DLL like:
Public Function ThreadProc( _
ByRef tData As tThreadData) As Long
Dim hWnd As Long
Dim tMsg As MSG
...
-
https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170
-
This function is CDECL one with the variable arguments.
Yes.
The types with size more than 8 bytes are passed by reference. APT_LogonId, APT_LogonIdWithSid, APT_ObjectTypeList, APT_Luid,...
-
DeviceProperties_RunDLLW calls SetProcessDPIAware function inside. You can't change this behavior. You could try to call SetProcessDpiAwareness with DPI_AWARENESS_CONTEXT_UNAWARE or...
|
Click Here to Expand Forum to Full Width
|