What should I do if I find a stack error after calling the DLL command?

Updated on technology 2024-02-08
13 answers
  1. Anonymous users2024-02-05

    Stack errors are usually used because of a function called cdecl with stdcall.

    Insert this sentence before calling the cdecl function to automatically balance the stack.

    Place ** ().

    test ()

    The easiest thing is to change the call convention of dll to stdcall, if you still want the source**, please send me a message directly.

    Because I'm too lazy to log in to my mailbox.

  2. Anonymous users2024-02-04

    Version 2dll command getwindowlonga, integer type,"user32", "getwindowlonga", to get information from the structure of the specified window is determined by nindex. Zero indicates an error. getlasterror is set

    Parameter window handle, integer, , the handle of the window for which you want to get information.

    parameter property, integer type, , The information to be retrieved can be any of the following constants:; gwl exstyle: extended window style; gwl_style:

    window style; gwl wndproc: the address of the window function of the window; gwl hinstance: the handle to the instance that owns the window; gwl_hwndparent:

    The handle of the parent of the window. Don't use setwindowword to change this value; GWL ID: The identifier of a child window in the dialog box.

    GWL UserData: Meaning by application.

    Stipulate; dwl dlgproc: the address of the dialog function of this window; dwl msgresult: the value returned by a message processed in a dialog function; dwl user: the meaning is specified by the application;

    dll command setwindowlonga, integer,"user32", "setwindowlonga", to set the information in the window structure for the specified window The previous value of the specified data.

    The parameter hwnd, integer, , is the handle of the window for which you want to get information.

    For the parameter nindex, integer, please refer to the description of the nindex parameter of the getwindowlong function.

    parameter dwnewlong, integer, , the new value of the window information specified by nindex;

    dll command api setlayeredwindowattributes, integers,"", "setlayeredwindowattributes"

    Parameter hwnd, integer type.

    Parameter crkey, integer.

    Parameter balpha, byte-type.

    Parameter dwflags, integer type.

  3. Anonymous users2024-02-03

    VB6 yes. The function in the dll file should be called stdcall

    If it's the default cdecl, it's problematic.

  4. Anonymous users2024-02-02

    Most of the parameters are filled in.

    The parameters were not written as required.

  5. Anonymous users2024-02-01

    Is the way it is called? If you can set it in easy language, set the function call method to cdecl or C language mode or something like ......I haven't used the easy language and don't know how to set it. But most of the time that's the problem.

    If you really can't find a place to set it, C language ** change, int add(int a, int b).

    Change to int stdcall add(int a, int b).

  6. Anonymous users2024-01-31

    That is, there is no error in the call itself, but there is a problem with the handling after the call?

    Then check to see if the free is turned off correctly after opening the dll.

  7. Anonymous users2024-01-30

    Remove n and m from the local variables and parameters, and set n and m as global variables.

    If you want to return more often, change the return value type to text, and finally, return (to text (n) + "to text (m))).

    After retrieving this text, it is okay to split the text, or to find the text, and to separate multiple return values.

  8. Anonymous users2024-01-29

    The functionality of the easy language is not very perfect, as mentioned on the first floor, the easy dll is even a problem to call itself, and the parameters can only be basic types.

  9. Anonymous users2024-01-28

    I suspect that there is a problem with the function being called to pass the arguments, and you can see if the function in the dll is passing the arguments in the stdcall way.

  10. Anonymous users2024-01-27

    I haven't passed an array, and I don't know if it's going to work, but I'm passing a false array (self-defined) with a textual data: "5,6,7,8".

    Then use it over there.

    Text Array = Split Text (Parameter,",",)' can be regarded as passing the array, heh, I don't know if there is a better way.

    The correct approach would be to "write to memory" (,,, I've seen some write libraries that use this to return data and data arrays.

  11. Anonymous users2024-01-26

    There are two ways: 1) If you know the number of elements in the vector, you can first put the required size in the call place, and then pass it to the dll for use, and do not add elements to the incoming vector in the dll.

    2) If you are not sure about the number of elements, allocate the size of the vector in the dll, and then pass the pointer of the vector (parameter type is std::vector**) to the place where the call is called, do not add elements to the outgoing vector.

  12. Anonymous users2024-01-25

    Easy language program dll looking order:

    1. Program directory.

    2. Windows system directory system32 directory 3, system installation directory windows directory.

    4. Other directories specified by the user (e.g., set dll to load directory ()).

  13. Anonymous users2024-01-24

    This dll of yours does not have a supplementary system registration.

    Or maybe your dll is not in the root directory of the source code, so it can't be called.

Related questions
13 answers2024-02-08

Requires a component, tab 1 a! Copy:Version 2

Support library shellexSupport library eapiAssemblies Window Assembly 1 >>>More

13 answers2024-02-08

Explosive takes a handle ("crossfire").

Subroutines Explosive Handle, Integer, Public, Explosive Exhaustive Window Handle, shall not be used for it. (Window handle is returned for success, -1 is returned for failure). >>>More

13 answers2024-02-08

Write to file command depends on how to use the command Space to collect disciples.

17 answers2024-02-08

The following is the source code:

The subroutine Startup Window is created. >>>More