Seite 1 von 1
Fehlermeldung "Unresolved external symbol..."
Verfasst: 25.04.2013 20:37
von irobot
Guten Tag allerseits,
habe da ein für mich nicht zu verstehendes Problem:
Wenn ich den Quellcode von meinem Programm mit PureBasic64 5.11 starte, läuft alles prima.
Wenn ich den Quellcode von meinem Programm mit PureBasic32 5.11 starte, erhalte ich nachfolgende
Fehlermeldung:
POLINK: error: Unresolved external symbol '_PB_OpenWindowedScreen2'.
POLINK: fatal error: 1 unresolved external(s).
Habe sonst nichts am Rechner (Windows 7) geändert.
Was kann das sein ?
Danke im voraus für eure Hilfe
Grüsse
irobot
http://www.der-prozess.de
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 25.04.2013 21:20
von c4s
Eventuell verwendest du Userlibs, die nicht unter x64 funktionieren.
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 25.04.2013 21:25
von irobot
so, kleiner Zwischenbericht...
nachdem ich nun festgestellt habe, dass ich MEHRERE Probleme sowohl mit PureBasic64 5.11 als auch mit PureBasic32 5.11 hatte, habe ich wieder die beiden 5.0 Versionen installiert.
Nun ist alles wieder gut.
Seltsamerweise waren es auch Probleme, die die WaitWindowEvent()-Ereignisse betrafen.
Wenn Event = 514 (wenn Maustaste wieder losgelassen) dann xyz...
Ging mit der 5.11-Version nicht mehr.
Userlibs verwende ich keine.
Man mag über meine Art zu programmieren gern streiten, jedoch diesen Unterschied finde ich SEHR seltsam.
Bin ich der einzige hier der sowas komisches hat mit den neuen Versionen ?
Grüsse
irobot
http://www.der-prozess.de
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 25.04.2013 21:31
von STARGÅTE
Event = 514 ist auch unglücklich programmiert, weil diese Zahl das Window-Event LeftUp war, welches mit 5.11 geändert wurde.
Das richtige Event heißt: #PB_Event_LeftClick.
Außerdem solltest du immer Konstanten Verwenden, da sich ein Wert jederzeit ändern könnte.
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 25.04.2013 21:54
von ts-soft
Solltest Du die PB-Funktion in Deinem Code selber importieren:
Unter 32-Bit heisst die Funktion: "_PB_OpenWindowedScreen2@32"
Wenn Dein Code die Funktion nicht importiert (unter falschem Namen)
dann sollte das ein PB-Bug sein.
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 25.04.2013 22:02
von irobot
Hallo STARGÅTE,
danke für den Tip !
Sind das all die Konstanten, die man in der PureBasic-Hilfe unter
"Überblick über PureBasic Konstanten" findet ?
Grüsse
irobot
http://www.der-prozess.de
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 26.04.2013 06:04
von irobot
Hallo ts-soft,
ich weiss gar nicht was das heisst "eine Funktion selber importieren".
Ich habe auch nirgens sowas wie '_PB_OpenWindowedScreen2'
in meinem Programm stehen...
Grüsse
irobot
www.der-prozess.de
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 26.04.2013 09:02
von ts-soft
Im PB-Ordner unter PureLibraries ist die screen lib. Die enthält besagte Funktion.
Da Du diese Funktion nicht selber importierst, gibt es eigentlich nur 2 Möglichkeiten:
Du hast eine falsche version dieser Lib (oder alte) oder es gibt einen Bug in PB.
Der sollte dann aber in jedem 32-Bit Programm, welches den Windowed-Screen nutzt
zum tragen kommen. Ich denke, dann würde es aber schon mehrere solcher Fehler-
meldungen von versch. Usern geben. Am besten mal PB5.11 löschen und Neuinstallieren,
bzw. in einen neuen Ordner installieren.
Gruß
Thomas
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 26.04.2013 19:58
von irobot
Hallo STARGÅTE,
nun hab' ich mal die 516 z.B durch #PB_EventType_RightButtonDown zu ersetzen.
(PureBasic64 5.0)
Musste überrascht feststellen, das klappt nicht.
Wenn ich abfrage ...If EVENT = 516 dann läuft das Programm an der Stelle weiter, wenn ich die rechte Maustaste unten habe.
Steht da ...If EVENT = #PB_EventType_RightButtonDown, läuft das Programm da NICHT weiter.
:^(
Kann mir das nicht erklären.
Grüsse
irobot
www.der-prozess.de
Re: Fehlermeldung "Unresolved external symbol..."
Verfasst: 26.04.2013 22:07
von Bisonte
Ich schon
#WM_RBUTTONDOWN wäre die 516, das entspricht aber nicht #PB_EVENTTYPE_ sondern PB_EVENT_ .
das ist der Haken.
Du müsstest : If Event = #PB_Event_RightClick benutzen.