wie Strukturen koppeln?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Re: wie Strukturen koppeln?

Beitrag von ProgOldie »

@bizzl : Vererbung ist erst einmal nicht angesagt. Ich habe genug mit der bisherigen Lösung zu tun.
@PMV: Dank für die Mühe mit den ausführlichen Kommentaren. Es läuft alles prima. Ich werde aber die Abfragen zur Existenz wie vorgeschlagen einbauen. Dadurch kann ich auch den - für mich nicht unwichtigen - Fall bearbeiten, bei dem kein Prop1 angebunden ist.
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Re: wie Strukturen koppeln?

Beitrag von ProgOldie »

Sorry, wenn ich soviel frage. :praise:

Code: Alles auswählen

EnableExplicit

Structure Props
  Name.s
EndStructure

Structure Obj
  *to_Prop.Props
EndStructure

Procedure kopple(*Objekt.Obj,*Propos.Props)
  *Objekt\to_Prop=*Propos
EndProcedure

Define Obj1.Obj,Prop1.Props

Prop1\Name="Hallo"              ;Eigenschaft von Prop1 festlegen
kopple(@Obj1,@Prop1)

Ich möchte bei der Prozedur 'kopple' auch den Fall ermöglichen, nichts an das Objekt anzukoppeln. Im Prinzip könnte ich das wie von PMV vorgeschlagen, mit

Code: Alles auswählen

Obj1\to_Prop=#Null
erreichen. Ich muss das aber über die Prozedur 'kopple' machen, weil ich in der Realität noch weitere Parameter an 'kopple' übergebe. Muss ich bei folgender Übergabe Sorgen machen?

Code: Alles auswählen

kopple(@Obj1,#Null)
Ich will das nicht selbst ausprobieren, um mir möglicherweise nicht den Speicher zu zerschiessen.
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: wie Strukturen koppeln?

Beitrag von PMV »

Nein, wie die #Null da rein kommt ist in PureBasic vollkommen egal.
Für den PB-Compiler sind das alles in erster Linie eh nur Ganzzahlen.
Egal obs die 0 ist, oder die Adresse eines (un)gültigen Speicherbereichs.

PS: die nächsten Fragen wird wohl dann erst mal jemand anders
beantworten müssen, ich bin die nächsten Tage anders eingespannt. :wink:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Sicro
Beiträge: 964
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: wie Strukturen koppeln?

Beitrag von Sicro »

ProgOldie hat geschrieben:Ich will das nicht selbst ausprobieren, um mir möglicherweise nicht den Speicher zu zerschiessen.
So gefährlich sind diese IMAs nicht. Aktuelle Betriebssysteme haben einen Speicherschutz, damit du keine Speicherbereiche von anderen Programmen überschreiben kannst. Siehe hier: https://de.wikipedia.org/wiki/Speicherschutz
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Antworten