Search:
Type: Posts; User: The trick
Search:
Search took 0.82 seconds.
-
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...
-
BTW the public projects already have ability to use multithreading. It's enough to create an object in the new thread and the runtime will be initialized.
-
VBDecompiler doesn't decompile well. You can read this topic where i used OllyDbg to decompile all the program instead VBDecompiler because latter had the poor result.
|
Click Here to Expand Forum to Full Width
|