Month of BlitzMax Bugs

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

 

#Reaper

Newsposter

BeitragSo, Mai 20, 2007 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Also die könnten auch ruhig mal den Schreibfehler in der MaxGUI-Constante WINDOW_RESIZABLE beheben... Confused
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

ChristianK

BeitragSo, Mai 20, 2007 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Welchen Schreibfehler?
Resizable kann man resizable oder resizeable schreiben. Wink
 

#Reaper

Newsposter

BeitragSo, Mai 20, 2007 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ProGamer.Coder hat Folgendes geschrieben:
Welchen Schreibfehler?
Resizable kann man resizable oder resizeable schreiben. Wink

Ach verdammt...
Naja...dann.. Embarassed
Hatte mich auch schon gewundert, wie oft die das "falsch" geschrieben haben Wink
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

hamZta

Administrator

BeitragSo, Mai 20, 2007 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Da ich mein BlitzMax verkauft habe, habe ich kein Interesse mehr, das Ganze hier fortzuführen (versteht sich von selbst, oder? Smile )

Wenn jemand Lust hat, hier weiterzumachen, schreibt mir eine PN, ich lasse euch dann die bisher niedergeschriebenen Wünsche zukommen (auch wenn es nicht viele sind).

Mfg
hamZta
Blog.

Geeecko

BeitragMo, Mai 21, 2007 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
*hihi*
Kann gelöscht werden...
erledigt XD
....

Abrexxes

BeitragMo, Mai 21, 2007 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso löschen. Es gibt bestimmt noch Leute die an einer subtilen Sprache die sich nach dem "Parasiten" Prinzip (alles fressen, nix rausgeben) erweitert interessiert sind.

Twisted Evil

D2006

Administrator

BeitragMo, Mai 21, 2007 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
~UNPINNED~

Ohne eine organisierende Person ist das Ganze hier leider zum Scheitern verurteilt. Es ist natürlich wünschenswert, dass sich jemand anderes findet, bis dahin bleibt dieser Thread trotzdem nicht als Wichtig markiert.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

#Reaper

Newsposter

BeitragSo, Mai 27, 2007 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, bevor es ganz vergessen wird, hab ich da auch noch nen Bug:

Ich habe nun z.B. 2 Types und 2 Includes:

Main.bmx:
Code: [AUSKLAPPEN]

[...]
Include "Types.bmx"
Print TypeA.SubTypeB.Blavariable
[...]


Types.bmx:
Code: [AUSKLAPPEN]

Type TypeA
   Global SubTypeB:TypeA_SubTypeB
End Type

Type TypeA_SubTypeB
   Global Blavariable:Int = 1234
End Type



Was soll das ganze nun?
Es wird ein "Subtype" namens "SubTypeB" für den TypeA erstellt, damit man es wie in der Main.bmx aufrufen kann, also sozusagen "erweitertes" OOP.
Nur bekommt man dann in der Main.Bmx, oder in anderen Includes, eine Fehlermeldung bei: TypeA.SubTypeB.Blavariable
Nur, wenn ich die Types.bmx nicht include, sondern direkt in die Main.bmx mit hineinschreibe, funktioniert es einwandfrei.....
Vielleicht ginge es mit Import auch wieder richtig (müsste eigentlich), aber mit Include sollte es genauso funktionieren.


So, und bevor es hier ganz vergessen wird, würde ich mich dennnoch bereit erklären, das hier möglichst einigermaßen zu "managen". (Solang ich das nicht Übersetzten muss o.ä.^^)


Btw: @hamZta: Wenn man fragen darf: Warum hast du denn BMax verkauft? Sad
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Abrexxes

BeitragSo, Mai 27, 2007 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht weil er eingesehen hat das es zwischen Blitz/Purebasic und C++/.net nicht wirklich einen Platz gibt denn man ausfüllen könnte. (Habe ich das nicht schön gesagt)

cu

Vertex

BeitragSo, Mai 27, 2007 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
#Reaper:
Das ist kein Bug. Global SubTypeB:TypeA_SubTypeB ist eine Referenz auf eine Instanz der Klasse TypeA_SubTypeB. a) müsste also eine Instanz zur Laufzeit erstellt werden und b) kannst du über Instanzen nicht auf statische Mitglieder zurückgreifen. Also Print TypeA_SubTypeB.Blavariable ist nur möglich.
vertex.dreamfall.at | GitHub

BtbN

BeitragSo, Mai 27, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Type TBla
   Global hallo:Int = 4
EndType
Global bla:TBla = New TBla
Print bla.hallo


Also fals du das mit dem zugreifen auf Statische mitglieder meinst: Geht einwandfrei.
 

#Reaper

Newsposter

BeitragSo, Mai 27, 2007 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht ja auch sonst einwandfrei. Aber nur wenn ich die Types in eine andere Datei packe und include, dann gibts eben dieses Problem. Ich gehe nämlich (noch) momentan davon aus, das Include() einfach so arbeitet, als wäre der damit geladene Code direkt im anderem, also als ob es nur eine Datei wäre. Aber dem scheint ja dann wohl nicht so zu sein.. Confused
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

BtbN

BeitragSo, Mai 27, 2007 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Dem ist in der Tat nicht so.
Private-Blöcke in einer Include-Datei können aus der includierenden Datei nicht gesehen werden.

FOODy

BeitragSo, Mai 27, 2007 23:14
Antworten mit Zitat
Benutzer-Profile anzeigen
BORNtobeNAMELESS hat Folgendes geschrieben:
Dem ist in der Tat nicht so.
Private-Blöcke in einer Include-Datei können aus der includierenden Datei nicht gesehen werden.

Nur wenn man importiert.
Beim Include sieht man auch die Privaten Blöcke.


Gruß,
FOODy
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB

BtbN

BeitragMo, Mai 28, 2007 10:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Tatsache, mitlerweile geht das sogar. Aber ich kann mich erinnern, dass es mal nicht ging.

Vertex

BeitragMo, Mai 28, 2007 11:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
SuperStrict

Framework BRL.Blitz

Type TTestA
   Global Value : Int = 1234
End Type

Type TTestB
   Global TestA : TTestA
End Type

WriteStdout(TTestB.TestA.Value + "~n")
End


Das funktioniert ja wirklich Shocked Bei C# ist das ganze(für mich logisch) verboten. Schließlich sind statische Members Instanz unabhängig dürften also auch nicht über diese angesprochen werden. Aber gut zu wissen.

mfg olli
vertex.dreamfall.at | GitHub

BtbN

BeitragMo, Mai 28, 2007 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiss geht das in C++ und Pascal ebenfals.
Sehe auch keinen Grund, wieso man nicht drauf zugreifen können sollte.

Vertex

BeitragMo, Mai 28, 2007 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man zwei getrennte Codes hat und in dem einen Player.X = 100.0 sieht, weiß man nicht, ob nun mit X eine Klassen- oder Instanzvariable gemeint ist. Ich käme daher nie auf die Idee, über eine Instanz eine Klassevariable anzusprechen.
vertex.dreamfall.at | GitHub

BtbN

BeitragMo, Mai 28, 2007 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Direkt auf eine variable zugreifen tut man ja von ausserhalb der klasse auch nicht.
Ich schreibe dafür immer get/set methoden, deren Name auch schon deutlich zu erkennen gibt, was man hier ändert.

Vertex

BeitragDi, Mai 29, 2007 2:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Da wäre wieder das Problem der Kapselung -> sie ist einfach nicht vorhanden ^^

Habe gerade noch was anderes gefunden. Es gibt ja keine Benutzer definierten Konstruktoren deswegen greift man oft auf eine Create Funktion zurück.

Code: [AUSKLAPPEN]
Type TTestA
   Field X : Int
   Field Y : Int

   Function Create:TTestA(X:Int, Y:Int)
      Local TestA:TTestA
      
      TestA = New TTestA
      TestA.X = X
      TestA.Y = Y
      
      Return TestA
   End Function
End Type

Type TTestB Extends TTestA
   Field Z : Int
   
   Function Create:TTestB(X:Int, Y:Int, Z:Int)
      Local TestB:TTestB
      
      TestB = New TTestB
      TestB.X = X
      TestB.Y = Y
      TestB.Z = Z
      
      Return TestB
   End Function
End Type


-> "Overriding method differs by type"

Was bringt denn das, Klassenmethoden(nicht verwechseln mit Instanzmethoden) zu vererben?

Vergleich zu C#:
Code: [AUSKLAPPEN]
    class TestA
    {
        public int X;
        public int Y;

        public static TestA Create(int X, int Y)
        {
            TestA test;

            test = new TestA();
            test.X = X;
            test.Y = Y;

            return test;
        }
    }

    class TestB : TestA
    {
        public int Z;

        public static TestB Create(int X, int Y, int Z)
        {
            TestB test;

            test = new TestB();
            test.X = X;
            test.Y = Y;
            test.Z = Z;

            return test;
        }
    }


Funktioniert wie erwartet. Wie ist es in C++? Wird es da vllt. vererbt aber aufgrund der Polymorphie überladen?
vertex.dreamfall.at | GitHub

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group