Das hier in eine eigene Datei:
windows.gbas
Quote
// --------------------------------- //
// Project: _poo
// Start: Tuesday, January 29, 2008
// IDE Version: 5.150
INLINE
}
#define HINSTANCE W32HINSTANCE
#define HINSTANCE__ W32HINSTANCE__
#undef LPSTR
#undef DECLARE_HANDLE
#undef LPCTSTR
#undef DWORD
#undef LPWSTR
#undef LPCWSTR
#define HWND W32HWND
#define HWND__ W32HWND__
#define HANDLE W32HANDLE
#undef MAX_PATH
#undef TCHAR
#define WIN32_LEAN_AND_MEAN
#define WinMain WinMain2
#include <windows.h>
namespace __GLBASIC__ {
ENDINLINE
FUNCTION MoveWindow: iw, x, y
INLINE
::MoveWindow((HWND)(void*)(int)iw, x,y,320,240, TRUE);
ENDINLINE
ENDFUNCTION
Daaanke :)
GEIL, funzt wie Sau !
THX Gernot... :nw:
kannst du das für die winbase.h auch machen?
brauch dort nämlich FreeLibraryAndExitThread
ist die nicht in User32.dll ?
da bin ich überfragt.
hab jetzt mal mit process explorer geschaut, was da so passiert, aber so richtig schlau werd ich da nicht draus.
So, das ist in der kernel32.dll !
Kannste einfach mit DECLARE einfügen im INLINE.(die DLL ist ja bei jeden im WINDOWS\System32 , also musst du diese auch nicht mit in den Ordner vom Projeckt tun ;) )
Obs dann geht, hab ich keine Ahnung :D
Schau mal ob "Xors3D" schon deklariert ist in dem PB-Beispiel!
Hab nämlich keinen Plan, wie das Exit genau funktioniert.
Global XORS=LoadLibraryM(?XR): If Not XORS:End:EndIf
Global xEntityShader.xEntityShaderProto=GetProcAddressM(XORS,"_xEntityShader@4")
Procedure Xors3D_End()
FreeLibraryM(XORS)
EndProcedure
DataSection
XR:IncludeBinary "Xors3D.Dll"
EndDataSection
so ist das dort.
an dem beispiel vom ersten post oben von gernot, wie würdest du das schreiben.
achja, hab den process explorer gestartet(mach das ach mal)
dann die .exe von glb gestartet, dann im process explorer ctrl+e drücken.
in der suche den namen der .exe eingeben und da hast du im hauptfenster dann eine liste, und da ist die squall.dll plötzlich als einzige so lila unterlegt.
ich hab zwar keine ahnung was das bedeutet, aber vielleicht weißt du ja was damit anzufangen.
ich versteh das so oder so nicht ganz.
ist es nicht normalerweise so, dass alles was mit glb als dll geladen wird, und auch dessen anhang, beim schliessen automatisch mit gekickt werden müsste?