Dialogresource mit PB 3.94 nutzen
- FGK
- Beiträge: 249
- Registriert: 09.01.2005 14:02
- Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit - Wohnort: Augsburg
@flo
Also meine Userlib erstell ich mit PB und Tailbite. Die Lib ist nicht
besonders komplex deswegen glaub ich wird das ausreichen. Nun
zu dem modifizieren des Classname von RAGrid. Das ist doch
meines Erachtens nur dann nötig wenn das Grid per ResEd in eine
Dialog-Resource gebettet werden soll. Wenn wir aber ein Grid mit
CreateWindowEx in der Userlib erzeugen dürfte das doch trotzdem
gehen? Die Frage ist nur die Lib die bei RAGrid beiliegt ist ein ASM
Obj-File,richtig? Dann müßte die sich doch zu meiner Userlib linken
lassen? Wenn ja wie sprech ich die dann an? Gibts es Beispiele dafür
im Netz?
Gruß
FGK
[EDIT] Mir ist da noch was eingefallen - wenn ichs mit der Lib-Version
nicht hinkrieg dann kann ich ja wie gehabt mit includebinary die DLL
in die Userlib holen - nur den Quellcode für LoadLibraryM bräuchte ich
noch damit ich die Funktion mit einbinden kann und nicht ne Userlib
erzeuge die abhängig ist von anderen Userlibs!!! (böses Foul!)
[EDIT2] Ich hab den Source nun von LoadLibraryM. Nur zu meinem Glück
ist es in C++ geschreiben. Nicht gerade meine Stärke - ich komm nicht ganz so klar damit im Moment. Aber! Ich bleib dran.
Also meine Userlib erstell ich mit PB und Tailbite. Die Lib ist nicht
besonders komplex deswegen glaub ich wird das ausreichen. Nun
zu dem modifizieren des Classname von RAGrid. Das ist doch
meines Erachtens nur dann nötig wenn das Grid per ResEd in eine
Dialog-Resource gebettet werden soll. Wenn wir aber ein Grid mit
CreateWindowEx in der Userlib erzeugen dürfte das doch trotzdem
gehen? Die Frage ist nur die Lib die bei RAGrid beiliegt ist ein ASM
Obj-File,richtig? Dann müßte die sich doch zu meiner Userlib linken
lassen? Wenn ja wie sprech ich die dann an? Gibts es Beispiele dafür
im Netz?
Gruß
FGK
[EDIT] Mir ist da noch was eingefallen - wenn ichs mit der Lib-Version
nicht hinkrieg dann kann ich ja wie gehabt mit includebinary die DLL
in die Userlib holen - nur den Quellcode für LoadLibraryM bräuchte ich
noch damit ich die Funktion mit einbinden kann und nicht ne Userlib
erzeuge die abhängig ist von anderen Userlibs!!! (böses Foul!)
[EDIT2] Ich hab den Source nun von LoadLibraryM. Nur zu meinem Glück
ist es in C++ geschreiben. Nicht gerade meine Stärke - ich komm nicht ganz so klar damit im Moment. Aber! Ich bleib dran.
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
am besten wir ändern den classname der DLL (für ResEd) oder der LIB.FGK hat geschrieben:Nun zu dem modifizieren des Classname von RAGrid. Das
ist doch meines Erachtens nur dann nötig wenn das Grid per ResEd in
eine Dialog-Resource gebettet werden soll.
sinn dieses threads ist ja das benutzen der resouce files. wenn wir den
classname der DLL oder LIB anpassen, dann kann das RAGrid sowohl als
gadget im PB source erstellt werden und/oder mit ResEd genutzt werden.
zumindest für das nutzen der LIB mit ResEd muss der classname
geändert werden, sonst funktionierts nicht.
ASM / LIB-File (zumindest wenn duDie Frage ist nur die Lib die bei RAGrid beiliegt ist ein ASM
Obj-File,richtig?
RAGrid.lib nutzt, wenn du RAGrid.obj benutzt, musst du natürlich
OBJ angeben).
ich habe noch keine userlib mit tailbite erstellt. wenn tailbite denDann müßte die sich doch zu meiner Userlib linken
lassen? Wenn ja wie sprech ich die dann an? Gibts es Beispiele dafür
im Netz?
librarymaker von purebasic benutzt, und somit ein .desc file,
kannst du einfach die lib mit im .desc file angeben.
wir können aber auch die beiden libs (userlib und RAGrid.lib);
; Langage used to code the library: ASM or C
ASM
;
; Number of windows DLL than the library need
1
RAGrid
;
; Library type (Can be OBJ or LIB). Starting with 2.60, PureBasic can use both .obj (NAsm or LccWin32)
; and standard Windows .LIB file, useful to convert quickly a library. This should be mostly .obj
; here, instead you're really need to use a .lib.
;
LIB
;
[...]
später zusammenfügen. dann müsste auch nicht RAGrid.lib
extra installiert werden.
so viele möglichkeiten...

achja, die DLL würde ich nicht als binary in die userlib einfügen,
das ist der uneleganteste weg.
/EDIT:
hab mir mal tailbite angeschaut. wenn du die optionen
"Don't build library, only source files" und "Generate build batch files"
benutzt, kannst du in die "[...]ObjFiles.txt" die/das .obj file(s) von
RAGrid.lib dort einfügen und die userlib per hand erstellen.
dann wird RAGrid.obj mit in die userlib eingefügt und es wird außer
der userlib keine weitere library benötigt.
- 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
Tailbite rufe ich immer mit folgenden Parametern auf:
Dann kann man auch den Desc File anpassen und einfach mit dem Batch neu erstellen"%FILE" /KEEPSRCFILES /WRITEBATCH
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.

- FGK
- Beiträge: 249
- Registriert: 09.01.2005 14:02
- Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit - Wohnort: Augsburg
@flo / @ts-Soft
Ich weis nicht Leute ich hab wie ihr beschrieben die Lib
erzeugt. Sie ist 53kb groß. Das kann hinkommen denn
die RAGrid.lib ist selbst schon 35kb groß. Nun ist das Problem
daß das Grid nicht erzeugt wird wenn RAGridGadget aufgerufen wird - komischerweise aber Einträge erstellt
werden können und auch wieder ausgelesen. hmmmm
Gruß
FGK
[EDIT] Kann es sein da ich die Lib nutze daß ich diese erst registrieren muß um mit CreateWindowEx ein solches Gadget zu erstellen? Wenn ja
wie krieg ich aus der Userlib eingelinkte RAGrid.lib die Einsprungsadresse raus?
Ich weis nicht Leute ich hab wie ihr beschrieben die Lib
erzeugt. Sie ist 53kb groß. Das kann hinkommen denn
die RAGrid.lib ist selbst schon 35kb groß. Nun ist das Problem
daß das Grid nicht erzeugt wird wenn RAGridGadget aufgerufen wird - komischerweise aber Einträge erstellt
werden können und auch wieder ausgelesen. hmmmm
Gruß
FGK
[EDIT] Kann es sein da ich die Lib nutze daß ich diese erst registrieren muß um mit CreateWindowEx ein solches Gadget zu erstellen? Wenn ja
wie krieg ich aus der Userlib eingelinkte RAGrid.lib die Einsprungsadresse raus?
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
- FGK
- Beiträge: 249
- Registriert: 09.01.2005 14:02
- Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit - Wohnort: Augsburg
@flo
Wie ich es gemacht habe?
- Tailbitmanager gestartet
- Pfade gesetzt für Purebasic / ASM Source File
- PB Quellcode der Userlib ausgewählt
- Häckchen für Don't Build / Keep Source / Generate Batch
- Tailbite gestartet
- In RAGridUserLibObjFiles.txt die RAGrid.lib noch eingefügt
- RAGridUserLibBuild.bat ausgeführt
- Lib erhalten
Trotzdem geht es nicht.
So langsam ziehts mich zu der "uneleganten Lösung" hin die Lib mit IncludeBinary zu holen und mit LoadLibraryM zu benutzen.
Ich hab sogar schon angefangen nun mit dieser
http://forums.purebasic.com/english/vie ... j&start=15
(auch von dir *gg) Methode die Lib zu linken. Geht zwar - aber ich weis weder welche Funktionen der Lib ich aufrufen muß noch sonst was. Die Funktionen neben den Anzahl der Parameter kenn ich schon - nur das drum herum ist noch undurchsichtig. Hmm die Funktion _GridInstall@4 wäre ev. was. Mal sehen....
Gruß
FGK
Wie ich es gemacht habe?
- Tailbitmanager gestartet
- Pfade gesetzt für Purebasic / ASM Source File
- PB Quellcode der Userlib ausgewählt
- Häckchen für Don't Build / Keep Source / Generate Batch
- Tailbite gestartet
- In RAGridUserLibObjFiles.txt die RAGrid.lib noch eingefügt
- RAGridUserLibBuild.bat ausgeführt
- Lib erhalten
Trotzdem geht es nicht.
So langsam ziehts mich zu der "uneleganten Lösung" hin die Lib mit IncludeBinary zu holen und mit LoadLibraryM zu benutzen.
Ich hab sogar schon angefangen nun mit dieser
http://forums.purebasic.com/english/vie ... j&start=15
(auch von dir *gg) Methode die Lib zu linken. Geht zwar - aber ich weis weder welche Funktionen der Lib ich aufrufen muß noch sonst was. Die Funktionen neben den Anzahl der Parameter kenn ich schon - nur das drum herum ist noch undurchsichtig. Hmm die Funktion _GridInstall@4 wäre ev. was. Mal sehen....
Gruß
FGK
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
- FGK
- Beiträge: 249
- Registriert: 09.01.2005 14:02
- Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit - Wohnort: Augsburg
@flo
Sorry mein Polink hat keine Option "/EXPLODE"
guggst du Hier
Sorry mein Polink hat keine Option "/EXPLODE"
guggst du Hier
Pelles Linker, Version 3.00.0
Copyright (c) Pelle Orinius 1998-2005
Syntax:
POLINK [options] [files] [@commandfile]
Options:
/ALIGN:#
/ALLOWBIND[:NO]
/BASE:address
/DEBUG[:NO]
/DEBUGTYPE:{CV|COFF|BOTH}
/DEF:filename
/DEFAULTLIB:library
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:dll
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXPORT:symbol[=symbol][,@ordinal][,DATA]
/FIXED[:NO]
/FORCE:MULTIPLE
/HEAP:reserve[,commit]
/IMPLIB:filename
/INCLUDE:symbol
/LARGEADDRESSAWARE[:NO]
/LIBPATH:path
/MACHINE:{ARM|IX86}
/MAP[:filename]
/MAPINFO:{EXPORTS|FIXUPS|LINES}
/MERGE:from=to
/NODEFAULTLIB
/NOENTRY
/OLDIMPLIB
/OPT:{REF|NOREF|WIN98|NOWIN98}
/OSVERSION:#[.##]
/OUT:filename
/RELEASE
/SECTION:name,[E][R][W][S][D][K][P]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE}[,#[.##]]
/SWAPRUN:{NET|CD}
/TSAWARE[:NO]
/VERBOSE
/VERSION:#[.##]
/WS:AGGRESSIVE
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
- FGK
- Beiträge: 249
- Registriert: 09.01.2005 14:02
- Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit - Wohnort: Augsburg
@flo
Sorry klappt auch nicht. Lib ist 19Kb klein. Kein Grid auf dem Fenster - beim beenden Absturz. Denke ich lasse das mal sein. *grummel*
Die Methode die Lib direkt ein zulinken geht zwar aber wie gesagt welche Funktionen mit welchen Parametern muß ich aufrufen. D.h. Was macht die DLL bevor ich mit CreateWindowEx ein RAGrid erstellen kann?
Am besten wär es wohl sich etwas flüssiger per YahooMessie zu reden
Gruß
FGK
Sorry klappt auch nicht. Lib ist 19Kb klein. Kein Grid auf dem Fenster - beim beenden Absturz. Denke ich lasse das mal sein. *grummel*
Die Methode die Lib direkt ein zulinken geht zwar aber wie gesagt welche Funktionen mit welchen Parametern muß ich aufrufen. D.h. Was macht die DLL bevor ich mit CreateWindowEx ein RAGrid erstellen kann?
Am besten wär es wohl sich etwas flüssiger per YahooMessie zu reden
Gruß
FGK