kleiner grauenhafter "CreateWindowEx" fehler

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

ICE TRUCK

Betreff: kleiner grauenhafter "CreateWindowEx" fehler

BeitragMi, Feb 01, 2006 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

wieder ein schönes problem wenn ich die funktion create window importiere:

Code: [AUSKLAPPEN]
Function CreateWindow:Long(lpClassName$z,..
                              lpWindowName$z,..
                              dwStyle:Long,..
                              x:Int,..
                              y:Int,..
                              nWidth:Int,..
                              nHeight:Int,..
                              hWndParent:Long,..
                              hMenu:Long,..
                              hInstance:Long,..
                              lpParam:Long Ptr)="CreateWindowA@44"


in der konsole steht dann nur:

Code: [AUSKLAPPEN]
E:/bmx/.bmx/la bug.bmx.gui.debug.win32.o(code+0x3af): undefined reference to `CreateWindowA@44'
Build Error: Failed to link E:/bmx/la bug.debug.exe


wenns an der zahl hinterm @ liegt, dann wenn möglich noch dazu sagen, wie man das ausrechnen kann;)

ps.: der fehler taucht erst auf, wenn man die funktion auch im code verwendet
hier z.b.
Code: [AUSKLAPPEN]
Global hWnd:Long = CreateWindow(szAppName,..
                       "Titelleiste",..
                       WS_OVERLAPPEDWINDOW,..
                       CW_USEDEFAULT,..
                       CW_USEDEFAULT,..
                       CW_USEDEFAULT,..
                       CW_USEDEFAULT,..
                       Null,..
                       Null,..
                       Null,..
                       Null)
  • Zuletzt bearbeitet von ICE TRUCK am Sa, Feb 04, 2006 22:24, insgesamt einmal bearbeitet

Suco-X

Betreff: ......

BeitragMi, Feb 01, 2006 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau am besten mal im Pub.Win32 Ordner unter user32.bmx.
Da wurde die Funktion schon importiert. Meistens gibt es immer unterschiede zwischen einer Api Reference und den wirklichen Funktionsnamen, ka warum.
Der Fehler bedeutet also nur, Funktion nicht gefunden. Weiter probieren Wink
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

ICE TRUCK

BeitragMi, Feb 01, 2006 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
mh.. danke Very Happy

ich find dort nur
CreateWindowEx(A/W)

auch möglich ohne Ex? Wink

Suco-X

Betreff: ......

BeitragMi, Feb 01, 2006 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist ja die gleiche Funktion wie die andere, nur hast du noch den ersten Parameter den du auch 0 lassen kannst. Kannst die Funktion ja nennen wie du willst, muss nur das ="RichtigerFunktionsName" Stimmen.
Übrigens hat der Datentyp Long bei Externen Funktionen nichts zu suchen, weder als Parameter noch als Rückgabewert. Da es nämlich nur Probleme mit und @44 würde auch nicht mehr stimmen, da ein Long 8 Byte hat.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

ICE TRUCK

BeitragMi, Feb 01, 2006 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
danke^^

ich tests mal aus^^

...

perfekt Wink

jetzt muss die anwendung nurnoch funken xD

ICE TRUCK

BeitragSa, Feb 04, 2006 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
nun gehen die fehler voran.... Laughing Laughing Laughing
Code: [AUSKLAPPEN]
Function WinGui_CreateWindowExA:Int(ExtraStyle:Int,..
                                     ClassName  $z,..
                                     WindowName $z,..
                                     Style      :Int,..
                                     X          :Int,..
                                     Y          :Int,..
                                     Width      :Int,..
                                     Height     :Int,..
                                     hWndParent :Int,..
                                     hMenu      :Int,..
                                     hInstance  :Int,..
                                     lpParam    :Byte Ptr) = "CreateWindowExA@48"

Window.Handle = WinGui_CreateWindowExA(0,..
                                        Window.ClassName,..
                                        "TitelZeile",..
                                        0,..
                                        100,..
                                        100,..
                                        300,..
                                        200,..
                                        0,..
                                        0,..
                                        WinGui_GetModuleHandleA(0),..
                                        lpParam)


fehler ist bei Code: [AUSKLAPPEN]
Window.Handle = WinGui_CreateWindowExA(0,..


was hamma etz wieder angstellt? Wink

Artemis

BeitragSa, Feb 04, 2006 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur noch als Info:
Window.ClassName ist ein String und lParam ein Byte Ptr.
An WinGui_GetModuleHandleA(0) kanns nicht liegen, da die vorher auch schon mal aufgerufen wird.
 

m a j o r

BeitragSa, Feb 11, 2006 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
guck einfach ma in meine murks gui da verwende ich CReateWindowExA ja auch. guck die "extern.bmx" durch, wo die fcktion deklariert ist, und die verwendung in der "mgui.bmx" bei mguiwindow.Create()

Artemis

BeitragSa, Feb 11, 2006 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@ m a j o r

Das Problem ist schon lange gelöst, trotzdem thx für die späte hilfe.
 

m a j o r

BeitragSa, Feb 11, 2006 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
upsa, hab datum nich beachtet

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group