Deutsch
Forum

OOP: Struktur an Klasse übergeben

 
Bin ich zu dusselig?

Wie kann ich eine globaldefinierte und dimensionierte Struktur per Konstruktorparameter an eine Klasse übergeben, sodaß ich im with-Sinne zugreifen kann...?
 
26.09.2006  
 



Hm bestimmt über den Long - die Adresse der Bereichsvariablen der bereits zur Struktur definierten Variable?
 
26.09.2006  
 




Michael
Wodrich
struct xy = x&,y&
proc obj.meth
parameters b#
with b#
.x& = ...
.y& = ...
endwith
 
Programmieren, das spannendste Detektivspiel der Welt.
26.09.2006  
 




Michael
Wodrich
Long geht auch, aber Du kannst den Parameter gleich als Bereich angeben - es muß dann aber auch einer sein. Geht glaube ich erst ab v9, vorher war long zwingend.
 
Programmieren, das spannendste Detektivspiel der Welt.
26.09.2006  
 



Michael Wodrich
struct xy = x&,y&
proc obj.meth
parameters b#
with b#
.x& = ...
.y& = ...
endwith


Ich dachte das scheiternd probiert zu haben, nochmal Syntax überprüfen...
 
26.09.2006  
 



Ok anders...

ich habe eine Struktur
KompilierenMarkierenSeparieren
Struct xy=x&,y&
und eine Klasse
class my=+my@,#xy#(8)
//konstruktor

proc my.my

    parameters .xy#

    with .xy#

        *jammer*

    endwith

endproc

declare myclass#,myxy#
dim myxy#,xy
myclass#=new(my,xy)

Ist mir noch zu helfen?
 
26.09.2006  
 




Michael
Wodrich
class my=+my@,#xy#(8)

class my=#xy,+my@ Struktur direkt angeben

Sonst mußt Du intern in der Methode einen Strukturbereich anlegen und tricksen.
(Zeiger verbiegen, in der Hilfedatei ist dazu ein Beispiel)
 
Programmieren, das spannendste Detektivspiel der Welt.
26.09.2006  
 



Ich hoffte ums Zeigerholen drumherumzukommen!
 
26.09.2006  
 




RGH
Und wie ist es damit:
KompilierenMarkierenSeparieren
!
Struct Xy = x&, y&
und eine Klasse
Class My = +My@,
#Xy#(8)
konstruktor

Proc My.my

    Parameters Pos#

    With Pos#

        Print .x&
        Print .y&

    Endwith

Endproc

Declare Myclass#,
Myxy#
Dim Myxy#, Xy

With Myxy#

    .x& = 45
    .y& = 75

EndWith

Myclass# = New(My, Myxy#)
WaitInput

So funktioniert es einwandfrei.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
26.09.2006  
 



Ja genau, so hatte ich mir das auch gedacht - und es funktioniert!

Ich hatte wohl irgendwas an der Syntax verkehrt.
 
26.09.2006  
 




RGH
iF
Ja genau, so hatte ich mir das auch gedacht - und es funktioniert!

Ich hatte wohl irgendwas an der Syntax verkehrt.


Ja, du versuchtest statt der Struktur selbst die Typdefinition der Struktur zu übergen:

myclass#=new(my,xy)

Und das kann nicht gutgehen. Ansonsten können Strukturen (nicht deren Typdefinitionen) und Objekte (nicht die Klassennamen) direkt über Parameters übergeben werden.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
26.09.2006  
 



Hm klar lol natürlich - habe einfach nicht genug aufgepasst...

Danke Roland!
 
26.09.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.660 Betrachtungen

Unbenanntvor 0 min.
Jörg Sellmeyer24.01.2013

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (8x)
Michael Wodrich (4x)
RGH (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie