Hallo Leute,
verzweifle gerade etwas.
Wie es der Titel schon aussagt, ich möchte eine Linked List (NewList) + Struktur an eine Prozedur eines Moduls übergeben.
Okay, die Struktur muss dem Modul bekannt sein, soweit bin ich schon mal gekommen.
Aber wie weiter?
Ein kurzer Beispielcode währe klasse.
Grüße
Linked List inklusive Struktur an Modul übergeben ?
Linked List inklusive Struktur an Modul übergeben ?
Barcodes for PureBasic - http://micha122.bplaced.net/
Re: Linked List inklusive Struktur an Modul übergeben ?
Der Trick besteht darin ein gemeinsame Modul (Common) zu erstellen und darin die Strukturen anzulegen
und im Main-Programm oder in den Modul mit 'UseModule Common' bekannt zu geben.
Dazu gehören auch Konstanten und Variablen die du Global in allen Modulen verwenden möchtest.
und im Main-Programm oder in den Modul mit 'UseModule Common' bekannt zu geben.
Dazu gehören auch Konstanten und Variablen die du Global in allen Modulen verwenden möchtest.
Code: Alles auswählen
;-TOP
; -------------------------------------------------------------------
DeclareModule Common
Structure udtMyData
index.i
text.s
EndStructure
EndDeclareModule
Module Common
; Nothing
EndModule
; -------------------------------------------------------------------
DeclareModule MyModul
UseModule Common
Declare MyShowData(List MyData.udtMyData())
EndDeclareModule
Module MyModul
UseModule Common
Procedure InitModule()
; Hier alles rein packen was bein starten von Programm im Module verledigt werden soll
EndProcedure : InitModule()
Procedure MyShowData(List MyData.udtMyData())
With MyData()
ForEach MyData()
Debug "" + \index + ": " + \text
Next
EndWith
EndProcedure
EndModule
; -------------------------------------------------------------------
;-Text
UseModule Common
Global NewList MyData.udtMyData()
AddElement(MyData())
MyData()\index = 1
MyData()\text = "Hallo"
AddElement(MyData())
MyData()\index = 2
MyData()\text = "Welt"
MyModul::MyShowData(MyData())
Zuletzt geändert von mk-soft am 11.02.2018 19:24, insgesamt 3-mal geändert.
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
Re: Linked List inklusive Struktur an Modul übergeben ?
oder so wie ohne modul :
edit: ein paar sekunden zu spät
Code: Alles auswählen
DeclareModule mymod
Structure s_struct
Text.s
Wert.i
EndStructure
Declare AddList(List MyList.s_struct(), Text.s, Wert)
EndDeclareModule
Module mymod
Procedure AddList(List MyList.s_struct(), Text.s, Wert)
AddElement(MyList())
MyList()\Text = Text
MyList()\Wert = Wert
EndProcedure
EndModule
UseModule mymod
NewList Cool.s_struct()
AddList(Cool(), "Hey", 1)
AddList(Cool(), "huhu", 21)
ForEach Cool()
Debug Cool()\Text
Next
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Linked List inklusive Struktur an Modul übergeben ?
Danke @mk-soft.
Genau das habe ich gesucht!
Ganz nebenbei hat dieses "Common-Modul" den Vorteil, das Strukturen nur einmal definiert werden müssen und von weiteren Modulen genutzt werden können.
Danke @Bisonte.
Dein Vorgehen ist etwas anders, aber auch dafür habe ich Verwendung.
Es fehlt allerdings ein Debug- Befehl in deinem Code:
Vielen Dank
Genau das habe ich gesucht!
Ganz nebenbei hat dieses "Common-Modul" den Vorteil, das Strukturen nur einmal definiert werden müssen und von weiteren Modulen genutzt werden können.
Danke @Bisonte.
Dein Vorgehen ist etwas anders, aber auch dafür habe ich Verwendung.
Es fehlt allerdings ein Debug- Befehl in deinem Code:
Code: Alles auswählen
ForEach Cool()
Debug Cool()\Text
Debug Cool()\Wert
Next
Barcodes for PureBasic - http://micha122.bplaced.net/