Optinaler-Method-Parameter-Problem bei Extended Types.

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

simi

Betreff: Optinaler-Method-Parameter-Problem bei Extended Types.

BeitragDo, Jul 21, 2005 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @all

Ich teste im Moment gerade ein bisschen mit Modulen herum. Da versuchte ich auch Public und Private anzuwenden, was auch nicht schlecht geht....

Mein Problem ist, dass BM keine Optinalen Parametern frisst, wenn die extended Methode aufgeruft werden soll....

Code: [AUSKLAPPEN]

Type TTest_ext Extends TTest
   Method Text(t$="hallo")
      Print t$
   End Method
End Type


Type TTest
   Method Text(t$="hallo") Abstract
End Type




Test:TTest = New TTest_ext

Test.Text()             '<= Fehler


WaitKey()

End



Was mache ich falsch??

Danke

simi

Freeman

BeitragDo, Jul 21, 2005 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ist das richtig ? :

Code: [AUSKLAPPEN]

Type TTest
 Method Text(t$="hallo") Abstract
End Type

Type TTest_ext Extends TTest
   Method Text(t$="hallo")
      Print t$
   End Method
End Type


Test:TTest_ext = New TTest_ext

Test.Text()             '<= Fehler

WaitKey()

End


FrEeMaN[/syntax]
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

simi

BeitragDo, Jul 21, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, so würde es schon gehen, aber der Type "TText_ext" ist dann im Modul Private, und so kann ich nicht auf ihn zugreifen Smile

Jolinah

BeitragDo, Jul 21, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Scheint bei Abstrakten Methoden nicht zu funktionieren..

Wenn man den ganzen Type Abstract definiert und dafür die Methode nicht dann gehts.
 

Dreamora

BeitragDo, Jul 21, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
warum sollte er privat sein?
Ich seh da kein Privat davor oder danach ... und sollte er public sein kannst du ja davor public machen und danach wieder private
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

simi

BeitragDo, Jul 21, 2005 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
@Dreamora: Ja das ist schon klar. Aber ich möchts halt wie in deinem "Tutorial" machen....

Hier zu besserem Verständnis der Originalcode, wo das private und Public auch (einigermassen) Sinn macht.....

Code: [AUSKLAPPEN]

Module simi.timer

Import  brl.math
Import  brl.system

Private

Type TTimer_INC   Extends TTimer
   Field time
   Field ticks


   Function Create:TTimer_INC(_ticks)
      Local temp:TTimer_INC = New TTimer_INC
      temp.time = MilliSecs()
      temp.ticks = _ticks
      Return temp
   End Function


   Method GetTicks(_ticks=-1)
      If _ticks = -1 Then _ticks = self.ticks
      
      If (MilliSecs()-self.time) > _ticks Then
         Local re = Floor((MilliSecs()-self.time)/_ticks)
         self.time = MilliSecs()-(MilliSecs()-self.time-_ticks*re)
         Return re
      End If    
      
      Return 0
   End Method
   

   Method SetTicks(_ticks)
      self.ticks = _ticks
   End Method
End Type


Public

Type TTimer
   Function Create:TTimer(_ticks)
      Local temp:TTimer = TTimer_INC.Create(_ticks)
      Return temp
   End Function
      
   Method GetTicks(_ticks=-1) Abstract
   
   Method SetTicks(_ticks) Abstract
End Type
 

Dreamora

BeitragDo, Jul 21, 2005 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
erinnert sehr an mein posting / tutorial zum information hidding in BM Smile
Hoffen wir dass du das Problem noch lösen kannst.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group