FRAGE: Arbeitsaufwand verwendung dll oder lib v(WIN) ?
Re: FRAGE: Arbeitsaufwand verwendung dll oder lib v(WIN) ?
Eine lib kann den Code beinhalten (Statik LIB) oder nur den verweis auf die Funktionen der DLL.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- ChrigiGee
- Beiträge: 133
- Registriert: 18.07.2024 12:14
- Computerausstattung: Lenovo ThinkPad i7, 32GB Ram, 1TB SSD
PB 6.11 LTS, proGUI, IceDesigner - Wohnort: Bern
Re: FRAGE: Arbeitsaufwand verwendung dll oder lib v(WIN) ?
Hallo mk-soft,
dann mache ich wirklich einen Überlegung-Fehler, muss also die in der lib vorhanden obj extrahieren.
Daraus müsste es dann doch möglich sein, eine Liste der Funktionen zu erhalten
oder mache ich hier bereits wieder einen Gedankenfehler?
Nach einem Tag an Arbeit daran bin ich nun doch nicht mehr so Aufnahme fähig, wenn ich eher Falsch liege.
Auch natürlich da ich Euch nur gerade sehr wenig Code Präsentieren kann, wo ich über meine eigenen Füße falle.
Habe noch etwas gearbeitet am Source, aber ich bin noch nicht Fertig, höchstens eine kleine Erweiterung.
Herzlichen Dank und beste Wünsche für das Wochenende
Chris
dann mache ich wirklich einen Überlegung-Fehler, muss also die in der lib vorhanden obj extrahieren.
Daraus müsste es dann doch möglich sein, eine Liste der Funktionen zu erhalten
oder mache ich hier bereits wieder einen Gedankenfehler?
Nach einem Tag an Arbeit daran bin ich nun doch nicht mehr so Aufnahme fähig, wenn ich eher Falsch liege.
Auch natürlich da ich Euch nur gerade sehr wenig Code Präsentieren kann, wo ich über meine eigenen Füße falle.
Habe noch etwas gearbeitet am Source, aber ich bin noch nicht Fertig, höchstens eine kleine Erweiterung.
Herzlichen Dank und beste Wünsche für das Wochenende
Chris
Code: Alles auswählen
;- Top
; -----------------------------------------------------------------------------
; Name:
; Description:
; Author:
; Date: 2026-01-17
; Version:
; PB-Version:
; OS:
; Credit:
; Forum:
; Created by: csc
; -----------------------------------------------------------------------------
CompilerIf #PB_Compiler_IsMainFile
EnableExplicit
CompilerEndIf
;- Global
Global Window_0
Global MainMenu
Global ToolBar
Global StatusBar
Global Combo_1, Cont_1, ListIcon_1
Global File$
Global dat$
Global zeile$
; Save TXT File from ListIconGadget
Global LvInhaltSpeichern
Global pbnr
Global anzspalten
Global anzahlzeilen
Global j
Global k
#dnr2 = 1
#Gadget_1 = 0
#maxspalten = 6
;- Lade Bilder
UsePNGImageDecoder()
;- Declare
Declare Event_Cont_1()
Declare Menu_Window_0()
Declare ToolBar_Window_0()
Declare StatusBar_Window_0()
DataSection
ToolBarIcon_New: : IncludeBinary #PB_Compiler_Home + "examples/sources/Data/ToolBar/New.png"
ToolBarIcon_Open: : IncludeBinary #PB_Compiler_Home + "examples/sources/Data/ToolBar/Open.png"
ToolBarIcon_Save: : IncludeBinary #PB_Compiler_Home + "examples/sources/Data/ToolBar/Save.png"
ToolBarIcon_Properties: : IncludeBinary #PB_Compiler_Home + "examples/sources/Data/ToolBar/Properties.png"
ToolBarIcon_Help1: : IncludeBinary #PB_Compiler_Home + "examples/sources/Data/ToolBar/Help.png"
ToolBarIcon_Close: : IncludeBinary "icon\Icon 2\Log-Out-16x16x32.png"
EndDataSection
Procedure StatusBar_Window_0()
StatusBar = CreateStatusBar(#PB_Any, WindowID(Window_0))
If StatusBar
AddStatusBarField(120)
AddStatusBarField(150)
AddStatusBarField(#PB_Ignore)
StatusBarText(StatusBar, 0, "Statusleiste")
StatusBarText(StatusBar, 1, "Zentrum", #PB_StatusBar_BorderLess | #PB_StatusBar_Center)
StatusBarText(StatusBar, 2, "Rechts", #PB_StatusBar_Right | #PB_StatusBar_Raised)
EndIf
EndProcedure
Procedure LvInhaltSpeichern (dat$,pbnr,anzspalten)
anzahlzeilen = CountGadgetItems(pbnr)
If CreateFile(#dnr2, dat$)
For j = 1 To anzahlzeilen
zeile$ = ""
For k = 0 To #maxspalten
zeile$ + GetGadgetItemText(pbnr, j-1, k) + #LF$
Next
Debug zeile$
WriteStringN(#dnr2,zeile$)
Next
CloseFile(#dnr2)
EndIf
EndProcedure
Procedure Menu_Window_0()
MainMenu = CreateMenu(#PB_Any, WindowID(Window_0))
If MainMenu
MenuTitle("Datei")
MenuItem(1, "Öffnen...")
MenuItem(2, "Speichern")
MenuBar()
MenuItem(3, "&Beenden")
MenuTitle("?")
MenuItem(4, "Über")
EndIf
EndProcedure
Procedure ToolBar_Window_0()
Protected Image
ToolBar = CreateToolBar(#PB_Any, WindowID(Window_0), #PB_ToolBar_Large | #PB_ToolBar_Text)
If ToolBar
Image = CatchImage(#PB_Any, ?ToolBarIcon_Open)
ToolBarImageButton(1, ImageID(Image), #PB_ToolBar_Normal, "Öffnen...")
FreeImage(Image)
Image = CatchImage(#PB_Any, ?ToolBarIcon_Save)
ToolBarImageButton(2, ImageID(Image), #PB_ToolBar_Normal, "Speichern")
FreeImage(Image)
ToolBarSeparator()
Image = CatchImage(#PB_Any, ?ToolBarIcon_Close)
ToolBarImageButton(3, ImageID(Image), #PB_ToolBar_Normal, "Beenden...")
FreeImage(Image)
ToolBarSeparator()
EndIf
EndProcedure
Procedure Open_Window_0(X = 0, Y = 0, Width = 870, Height = 470)
Window_0 = OpenWindow(#PB_Any, X, Y, Width, Height, "Title", #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
If Window_0
Menu_Window_0()
ToolBar_Window_0()
StatusBar_Window_0()
ListIcon_1 = ListIconGadget(#PB_Any, 0, 52, 870, 320, "Funktions Name", 120, #PB_ListIcon_CheckBoxes | #PB_ListIcon_ThreeState | #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect | #PB_ListIcon_HeaderDragDrop)
AddGadgetColumn(ListIcon_1, 1, "Parameter", 100)
AddGadgetColumn(ListIcon_1, 2, "Variable", 100)
AddGadgetColumn(ListIcon_1, 3, "Prozedur", 50)
AddGadgetColumn(ListIcon_1, 4, "Komentare", 50)
AddGadgetItem(ListIcon_1, -1, "ListIcon_1")
Cont_1 = ContainerGadget(#PB_Any, 0, 372, 870, 50, #PB_Container_Raised)
Combo_1 = ComboBoxGadget(#PB_Any, 0, 10, 170, 24)
AddGadgetItem(Combo_1, -1, "STDCALL")
AddGadgetItem(Combo_1, -1, "CDECL")
AddGadgetItem(Combo_1, -1, "FASTCALL")
SetGadgetState(Combo_1, 0)
CloseGadgetList() ; Cont_1
; CloseGadgetList() ; Cont_1
; BindGadgetEvent(Cont_1, @Event_Cont_1())
PostEvent(#PB_Event_SizeWindow, Window_0, 0)
ProcedureReturn #True
EndIf
EndProcedure
CompilerIf #PB_Compiler_IsMainFile
;- Hauptprogramm
If Open_Window_0()
;IceKeepEventLoop
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
;-> Event Menu
Case #PB_Event_Menu
Select EventMenu()
Case 1 ;Open
File$ = OpenFileRequester("Library - Open", "Pure.lib", "Library (*.lib)|*.lib", 0)
If File$+File$
MessageRequester("Information", "Selected File: "+File$, 0);
OpenLibrary(#PB_Any,"File$")
IsLibrary(#PB_Any)
ExamineLibraryFunctions(#PB_Any)
EndIf
Case 2 ;Save
dat$ = SaveFileRequester("Library Function - Save", "Pure.txt", "Library Funktion (*.txt)|*.txt", 0)
If dat$+dat$
MessageRequester("Information", "Selected File: "+dat$, 0);
LvInhaltSpeichern ("dat$", ListIcon_1, #maxspalten)
EndIf
Case 3 ;Quit
Break
Default
; MessageRequester("Information", "ToolBar oder Menu ID : " + Str(EventMenu()) +#CRLF$+#CRLF$+ "Text : " + GetMenuItemText(MainMenu, EventMenu()), 0)
EndSelect
;-> Event Gadget
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ForEver
;EndIceKeepEventLoop
EndIf
CompilerEndIf
CloseLibrary(#PB_All)
Wer nicht fragt, der nichts lernt.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.
Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.
Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Re: FRAGE: Arbeitsaufwand verwendung dll oder lib v(WIN) ?
Moin,
ich kann dir leider nicht helfen, weil ich dein Problem / deine Fragen nicht verstehe....
Dafür habe ich mal kurz in deinen Code geschaut und dabei bin ich über einige 'Fehler' gestolpert.
Kopierte Beispielzeilen, die (glaube ich) so nicht funktionieren / oder eine sehr kreative Lösung darstellen...
ich kann dir leider nicht helfen, weil ich dein Problem / deine Fragen nicht verstehe....
Dafür habe ich mal kurz in deinen Code geschaut und dabei bin ich über einige 'Fehler' gestolpert.
Kopierte Beispielzeilen, die (glaube ich) so nicht funktionieren / oder eine sehr kreative Lösung darstellen...
Code: Alles auswählen
; .....
File$ = OpenFileRequester("Library - Open", "Pure.lib", "Library (*.lib)|*.lib", 0)
If File$+File$
; .....
OpenLibrary(#PB_Any,"File$")
; .....
IsLibrary(#PB_Any)
Using PureBasic latest stable version and current alpha/beta (x64) on Windows 11 Home
Re: FRAGE: Arbeitsaufwand verwendung dll oder lib v(WIN) ?
Gibt es da keine Info-Datei dazu, die die Funktionen beschreibt ?
Und auch die Namen der Funktionen nutzen ja nichts, wenn man die Parameter für die einzelnen
Funktionen nicht kennt.
Und auch die Namen der Funktionen nutzen ja nichts, wenn man die Parameter für die einzelnen
Funktionen nicht kennt.
PB 6.10