Problem mit Return und Gadgets...
Übersicht

![]() |
DerKeksBetreff: Problem mit Return und Gadgets... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soo,
ich habe mich nun endlich mal an eine GUI-Artige Funkionssammlung gewagt ![]() Ich kann auch schon Windows und Button erstellen etc... Nur brauche ich nun eine Möglichkeit, diese Gadgets einzeln zu identifizieren, um später damit zu arbeiten... Ich hatte mir gedacht, ich zähle eine variable immer durch mit jedem Gadget und speichere sie im Type-Field win\id... Klappt auch Prima! Nun soll der Benutzer aber nicht jedesmal die ID raussuchen/errechnen/zählen müssen, sondern die ID des Gadgets soll im Return-Wert gespeichert werden... Nun sieht meine CreateFunc für zB ein Window so aus: Code: [AUSKLAPPEN] Function P_Window.Win(x, y, w, h, t$)
w1.Win = New Win w1\id = gad_id w1\x = x w1\y = y w1\width = w w1\height = h w1\title$ = t$ gad_id = gad_id + 1 Return w1\id End Function Mich wundert als erstes mal, wieso ich das .Win oder .Btn oder sonstige an den Funktionsnamen anhängen muss und auch an die Variable muss es ran also "window1.Win = P_Window.Win(...) " und ausserdem kommt immer der Fehler "Illegal Type conversion" und er zeigt auf die Return-Zeile.... Woran liegt es? Wenn ich nur Return w1 mache, bekomme ich alle Werte des Types zurück geliefert in der Variable... Ich möchte aber NUR die ID zurück bekommen, um damit zu arbeiten später... Wenn mehr Code benötigt wird, bitte melden Gruss DerKeks |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
weil das keine IDs sind sondern Types.
Ich empfehle entweder die Hinweise / Hilfe der Funktionssammlung zu lesen oder dir was eigenes zu schreiben wenn du keine Anleitungen lesen willst. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
DerKeks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist ja mein eigener Versuch ^-^
Nur ich möchte irgendwie die ID, die gleiche, die in der w1\id steht, als Return Wert haben... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Ansatz da ist performance mässig leider net ganz tragbar.
Du nutzt eine ID die sich brav raufzählt. Ist super wenn du alle gadgets in einem array speicherst, aber sonst wirst du ewig suchen wenn du von ID auf Gadget willst. Schau dir ma die Befehle Handle und Object an. Damit kannst du die "adresse" des Types rausholen (-> Int) und damit rumhantieren und es am ende wieder zum Type umwandeln wenn du das irgendwo brauchst. Ansonsten: gib doch einfach das zurück was du in win\id schreibst wenn du das willst ^^ |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
DerKeks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Joa ich weiss dass da noch nicht viel "gutes" bei rum kommt aber jeder fängt klein an xD
aber ich habe schon folgendes versucht: Code: [AUSKLAPPEN] Return gad_id
Code: [AUSKLAPPEN] Return w1\id
Code: [AUSKLAPPEN] Return Handle(w1\id)
Ich bekomme jedes mal Fehler... aber werde mir das in der OH jetzt noch mals anschauen edit:: wenn ich bei mir Return Handle(w1) mache, kommt Illegal Type Conversion... Wenn ich es aber wie im Beispiel der OH ( 1:1 kopiert ) mache, klappt es ... |
||
- Zuletzt bearbeitet von DerKeks am Do, Jan 17, 2008 23:07, insgesamt einmal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
na wenn du immer noch .Win etc an der funktion dran hast dann wird logischerweise ein fehler kommen weil dann der Rückgabewert ein Type vom Typ "Win" etc sein muss. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
DerKeks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mhh...
Ja ich werde es Morgen mal anders probieren... Danke für den Hinweis... Weil ich habe es ja nach OH gemacht aber Iwie stört wohl das .Win an der Func und der Variable -.- |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ".Win" gibt den Type für die Rückgabe an. So wie # heissen würde es kommt ein float zurück zb ...
Denke da gibts noch ein paar Grundlagen die du dir dringend erarbeiten solltest ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
DerKeks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Joa meine bisherigen Type-Kenntnisse beziehen sich auf 2D-Schüsse und Chat-User die in Types gespeichert wurden...
Daher hab ich ja nach dem Beispiel in der OH gearbeitet und da hab ich wohl was falsch verstanden ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group