Seite 1 von 2
OpenLibrary- ist das überhaupt notwendig?
Verfasst: 01.08.2007 03:53
von ReneMiner
Ich beobachte es immer wieder:
Ihr schreibt z.B. sowas hier
Code: Alles auswählen
Procedure credits()
...
Repeat
ExamineKeyboard()
GetCursorPos_(pt.POINT)
If GetAsyncKeyState_(#VK_LBUTTON) & $FFFF
....
Soweit ich weiss ist GetCursorPos eine API-Funktion aus der Windows-Lib "User32.dll".
In Eurem Code sehe ich aber nirgends einen Verweis auf diese Library.
Meine "dummen" Anfängerfragen:
Ist es auf Windows-Systemen unnötig diese erst per OpenLibrary zu öffnen?
Wenn nicht:
Warum schreibt Ihr nicht in Eurem Code dazu auf welche Libraries Ihr zugreift?
Wenn ich eine brauchbare, mir unbekannte Funktion in Eurem Code sehe möchte ich weder erst alle Libs auf meinem Rechner durchsuchen noch Euch mit PN's bombardieren müssen um zu erfahren wo diese Funktion
zu finden wäre
Re: OpenLibrary- ist das überhaupt notwendig?
Verfasst: 01.08.2007 03:58
von PureLust
ReneMiner hat geschrieben:Ist es auf Windows-Systemen unnötig diese erst per OpenLibrary zu öffnen?
Jipp ... in PB für Windows kannst Du auf (fast?) alle API-Routinen sofort zugreifen (ausser in der Demo-Version, dort ist dies nicht möglich).
Von normalen PB-Befehlen kannst Du sie durch den Unterstrich ("_") zwischen Befehlsname und den Klammen unterscheiden.
Verfasst: 01.08.2007 04:00
von ReneMiner
Ich hab selbstverständlich eine Vollversion.
Gut zu wissen.

Noch was:
Muss man für das Beispiel oben den Point als POINTAPI-Struktur selbst definieren oder "weiss" mein PB das auch schon?
Verfasst: 01.08.2007 04:01
von STARGÅTE
>>Ist es auf Windows-Systemen unnötig diese erst per OpenLibrary zu öffnen?
JA
Ich z.B. wüsste nicht mal wo her diese _() Proceduren kommen, sodass ich dir nicht mal sagen kann woher die kommt. Sie ist halt in der WIN-PB-Version schon dabei, bzw. wird aufgerufen.
EDIT:
Ja müsste es wissen, wie auch andere Structuren die in API benutz werden.
Verfasst: 01.08.2007 04:03
von ReneMiner
Wenn ich die letzte Frage und diese noch beantwortet bekomme bin ich für heute glücklich:
Welche Windows-Libs sind denn alle schon "geöffnet" - auch DirectX9?
Verfasst: 01.08.2007 04:07
von PureLust
ReneMiner hat geschrieben:Noch was:
Muss man für das Beispiel oben den Point als POINTAPI-Struktur selbst definieren oder "weiss" mein PB das auch schon?
In der PB-IDE kannst Du dir mit Hilfe von "Menü => Werkzeuge => Strukturverzeichnis" alle Strukturen anzeigen lassen, die PB bereits bekannt sind.
POINT ist z.B. ein davon.
[Edit:]
ReneMiner hat geschrieben:Welche Windows-Libs sind denn alle schon "geöffnet" - auch DirectX9?
Bin ich leider auch überfragt - aber wenn Du Fragen zu DX9 hast solltest Du mal die Forensuche bemühen.
Verfasst: 01.08.2007 04:09
von ReneMiner
Na das ist doch mal ne brauchbare Aussage...
Bedank mich so- (weil einen Danke-Button hat das Forum hier ja nicht

)
Re: OpenLibrary- ist das überhaupt notwendig?
Verfasst: 01.08.2007 04:11
von Fluid Byte
ReneMiner hat geschrieben:Soweit ich weiss ist GetCursorPos eine API-Funktion aus der Windows-Lib "User32.dll".
In Eurem Code sehe ich aber nirgends einen Verweis auf diese Library.
Warum auch? Fast alle API Funktionen sind in PB nativ deklariert. Das ist ja auch eines von PB's starken features. Im Klartext heisst das daß PB beim Aurufen von API Funktionen automatisch Open- / CloseLibrary() benutzt wird, sofern das überhaupt nötig ist da viele Bibliotheken mit Windows schon beim Start geladen werden um man jeder Zeit darauf zugreifen kann.
ReneMiner hat geschrieben:Ist es auf Windows-Systemen unnötig diese erst per OpenLibrary zu öffnen?
Es ist irrelevant ob es sich hierbei um Windows, Linux oder MacOS handelt. Ist eine API Funktion in PB bereits integriert braucht man natürlich die entsprechende LIB nicht mehr manuell zu laden.
Um eins mal klar zu stellen. Es ist nur dann nötig die entsprechende LIB/DLL zu manuell zu laden wenn diese nicht in PB deklariert ist.
ReneMiner hat geschrieben:Warum schreibt Ihr nicht in Eurem Code dazu auf welche Libraries Ihr zugreift?
Wie gesagt, ist eine Funktion nicht in PB nativ integriert wirst du den entsprechenden Aufruf zu Open- / CloseLibrary() schon sehen.
ReneMiner hat geschrieben:Wenn ich eine brauchbare, mir unbekannte Funktion in Eurem Code sehe möchte ich weder erst alle Libs auf meinem Rechner durchsuchen noch Euch mit PN's bombardieren müssen um zu erfahren wo diese Funktion
Das brauchst du auch nicht. Welche API Befehle auf welchen OS laufen hängt natürlich vom verdwendeten System ab.
Verfasst: 01.08.2007 04:17
von PureLust
[OT]
Schon witzig, wieviele PB'ler um diese Uhrzeit noch wach sind.

[/OT]
Re: OpenLibrary- ist das überhaupt notwendig?
Verfasst: 01.08.2007 04:18
von edel
Fluid Byte hat geschrieben:
ReneMiner hat geschrieben:Warum schreibt Ihr nicht in Eurem Code dazu auf welche Libraries Ihr zugreift?
Wie gesagt, ist eine Funktion nicht in PB nativ integriert wirst du den entsprechenden Aufruf zu Open- / CloseLibrary() schon sehen.
Nicht unbedingt. Seit PB4 braucht man eigentlich kein Openlibrary
fuer die Api Befehle mehr. Wenn etwas fehlt kann es mit "Import"
eingebunden werden.