OpenLibrary- ist das überhaupt notwendig?

Anfängerfragen zum Programmieren mit PureBasic.
ReneMiner
Beiträge: 58
Registriert: 20.07.2007 14:54
Wohnort: zwischen Westerwald und Siegerland

OpenLibrary- ist das überhaupt notwendig?

Beitrag 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
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: OpenLibrary- ist das überhaupt notwendig?

Beitrag 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.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
ReneMiner
Beiträge: 58
Registriert: 20.07.2007 14:54
Wohnort: zwischen Westerwald und Siegerland

Beitrag 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?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

>>Ist es auf Windows-Systemen unnötig diese erst per OpenLibrary zu öffnen?

JA
:lol:

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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
ReneMiner
Beiträge: 58
Registriert: 20.07.2007 14:54
Wohnort: zwischen Westerwald und Siegerland

Beitrag 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?
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag 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.
Zuletzt geändert von PureLust am 01.08.2007 04:09, insgesamt 1-mal geändert.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
ReneMiner
Beiträge: 58
Registriert: 20.07.2007 14:54
Wohnort: zwischen Westerwald und Siegerland

Beitrag von ReneMiner »

Na das ist doch mal ne brauchbare Aussage...

Bedank mich so- (weil einen Danke-Button hat das Forum hier ja nicht ;) )
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: OpenLibrary- ist das überhaupt notwendig?

Beitrag 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.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

[OT]
Schon witzig, wieviele PB'ler um diese Uhrzeit noch wach sind. :D
[/OT]
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: OpenLibrary- ist das überhaupt notwendig?

Beitrag 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.
Antworten