PBOSL - Eine OpenSource Library-Sammlung für PureBasic
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
PBOSL-Binaries PB4 für Linux Online.
AnimSprite
RFile (neu)
weitere werden folgen
AnimSprite
RFile (neu)
weitere werden folgen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Update:
PBOSL_Cryption Neue Version von dige (nur ASCII)
PBOSL_ScreenGadgets Neue Version
PBOSL-Update Checker von Kiffi (Helfer: edel und ts-soft)

PBOSL_Cryption Neue Version von dige (nur ASCII)
PBOSL_ScreenGadgets Neue Version
PBOSL-Update Checker von Kiffi (Helfer: edel und ts-soft)

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
PBOSL-Updatechecker für Linux
Diese Version nutzt den firefox als Browser, um dies zu ändern, ist der
Source im Paket (derselbe wie für die Windows-Version).
Wurde bisher nur unter opensuse 10.2 mit KDE getestet, bei Problemen bitte melden.
download
Diese Version nutzt den firefox als Browser, um dies zu ändern, ist der
Source im Paket (derselbe wie für die Windows-Version).
Wurde bisher nur unter opensuse 10.2 mit KDE getestet, bei Problemen bitte melden.
download
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Kleines Upate:
Fehler mit UTF-8 strings in PBOSL_SQLite3 gefixed, (hoffe ich mal
)
Fehler mit UTF-8 strings in PBOSL_SQLite3 gefixed, (hoffe ich mal

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Neue Lib: WindowSubclass von edel
4 Funktionen, die das Subclassen von Fenstern erleichtern, geschrieben in C
Läuft im Ansi, Unicode sowie Threadsafe-Mode (aber nicht über verschiedene
Threads!)
4 Funktionen, die das Subclassen von Fenstern erleichtern, geschrieben in C
Läuft im Ansi, Unicode sowie Threadsafe-Mode (aber nicht über verschiedene
Threads!)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

AppRunning() funktioniert nicht richtig unter unicode.
starte app1:
starte app2:
[ASCII]
ergebnisse app1:
App1 running: 0 <--- richtig
App2 running: 0 <--- richtig
ergebnisse app2:
App1 running: 1 <--- richtig
App2 running: 0 <--- richtig
[UNICODE]
ergebnisse app1:
App1 running: 0 <--- richtig
App2 running: 0 <--- richtig
ergebnisse app2:
App1 running: 1 <--- richtig
App2 running: 1 <--- falsch
getestet mit 4.02 final und 4.10 beta1.
c ya,
nco2k
starte app1:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 200, 200, "App1", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
TextGadget(0, 5, 5, 100, 20, "App1 running: "+Str(AppRunning("App1")))
TextGadget(1, 5, 25, 100, 20, "App2 running: "+Str(AppRunning("App2")))
While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndIf : End
Code: Alles auswählen
If OpenWindow(0, 0, 0, 200, 200, "App2", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
TextGadget(0, 5, 5, 100, 20, "App1 running: "+Str(AppRunning("App1")))
TextGadget(1, 5, 25, 100, 20, "App2 running: "+Str(AppRunning("App2")))
While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndIf : End
[ASCII]
ergebnisse app1:
App1 running: 0 <--- richtig
App2 running: 0 <--- richtig
ergebnisse app2:
App1 running: 1 <--- richtig
App2 running: 0 <--- richtig
[UNICODE]
ergebnisse app1:
App1 running: 0 <--- richtig
App2 running: 0 <--- richtig
ergebnisse app2:
App1 running: 1 <--- richtig
App2 running: 1 <--- falsch
getestet mit 4.02 final und 4.10 beta1.
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Die ASM-Lib ist auch nicht Unicode-Kompatibel. Einziger Vorteil der Lib ist das
das Mutexhandle am ende automatisch freigegeben wird. Lösch die Lib und
nimm einfach diesen Source, der genau dasselbe in PB macht:
Lediglich AppRunning_End() ist am Programmende manuel aufzurufen.
Wenn TailBite hierbei keine ASM-Error mehr ausgibt kann
ich es updaten (falls ich dran denke)
Gruß
Thomas
das Mutexhandle am ende automatisch freigegeben wird. Lösch die Lib und
nimm einfach diesen Source, der genau dasselbe in PB macht:
Code: Alles auswählen
EnableExplicit
Define.l AppRunning_Mutex
Procedure AppRunning_End()
Shared AppRunning_Mutex
CloseHandle_(AppRunning_Mutex)
EndProcedure
Procedure AppRunning(MyAppName.s)
Shared AppRunning_Mutex
AppRunning_Mutex = CreateMutex_(0, 0, @MyAppName)
If GetLastError_() = #ERROR_ALREADY_EXISTS
ReleaseMutex_(AppRunning_Mutex)
CloseHandle_(AppRunning_Mutex)
End 1
EndIf
EndProcedure
Wenn TailBite hierbei keine ASM-Error mehr ausgibt kann
ich es updaten (falls ich dran denke)
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Hi PBOSL Team
Ich hab mal eine Frage, und zwar folgendes:
PBOSL steht ja, wie beschrieben, unter der LGPL Lizenz, das heißt der Source ist offen und frei zugänglich.
Wenn ich jetzt eine Teil bzw ein paar vorkompilierte Libs direkt in PB benutze und ein Programm "veröffentliche" müsste ich das auch unter LGPL stellen, was ich allerdings nicht mag.
Müsste ich ansonsten die benötigten PBOSL Libs laut Lizenz als DLL kompilieren und mitliefern?
Nur so eine Frage die mir in den Sinn kam

Ich hab mal eine Frage, und zwar folgendes:
PBOSL steht ja, wie beschrieben, unter der LGPL Lizenz, das heißt der Source ist offen und frei zugänglich.
Wenn ich jetzt eine Teil bzw ein paar vorkompilierte Libs direkt in PB benutze und ein Programm "veröffentliche" müsste ich das auch unter LGPL stellen, was ich allerdings nicht mag.
Müsste ich ansonsten die benötigten PBOSL Libs laut Lizenz als DLL kompilieren und mitliefern?

Nur so eine Frage die mir in den Sinn kam

Wenn ich das recht in Erinnerung habe, kannst Du eigene Programme, in denen Du LGPL-basierende Funktionen eingebunden hast, als closed source Modell vertreiben / veröffentlichen. Dazu war das LGPL (im Gegensatz zum GPL) gedacht.
Nur wenn Du am PBOSL selbst was veränderst / erweiterst und dieses neue PBOSL-Paket dann weitergeben möchtest, dann musst Du es wieder unter LGPL stellen.
Nur wenn Du am PBOSL selbst was veränderst / erweiterst und dieses neue PBOSL-Paket dann weitergeben möchtest, dann musst Du es wieder unter LGPL stellen.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Quelle: Wikipedia
Muß jedoch nicht wenn die LGPL Software als DLL zur Verfügung steht, bzw. du eine DLL drauß machst.
..dürfen alle Programme, welche die LGPL-lizenzierte Software nur extern benutzen, zum Beispiel als DLL-Dateien, ihre eigene Lizenz behalten.
PB Libs sind in der Regel statisch, d.h. werden eingebunden, somit muss dein Programm ebenfalls LGPL und OpenSource sein.Soll die unter der LGPL lizenzierte Software dagegen fest in ein anderes Programm eingebunden werden, muss auch das andere Programm unter der LGPL bzw. einer kompatiblen Lizenz stehen.
Muß jedoch nicht wenn die LGPL Software als DLL zur Verfügung steht, bzw. du eine DLL drauß machst.