Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Maxolia

unregistriert

1

21.02.2013, 20:15

Windows Forms Variablen

Hallo.
Wo muss ich Variablen in einer Windows Form anwendung deklarieren, so dass ich sie überall benutzen kann?

Yannic

unregistriert

2

21.02.2013, 20:21

Das hat mit WinForms nix zu tun?
Ich geh mal davon aus, dass du C# benutzt(hast ja nichts geschrieben).
Da bräuchtest du einfach einen static-Modifizier vor die Variable setzen, pass aber auf beim Threading. ;)

Maxolia

unregistriert

3

21.02.2013, 20:31

Habe zwar c++ benutzt aber static war die Lösung :D

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

4

21.02.2013, 20:37

Habe zwar c++ benutzt


Das bezweifel ich. WinForms kannst du nur mit .NET Sprachen ansprechen. Also C++/CLI ist das was C++ noch am nächsten kommen würde.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

21.02.2013, 20:43

Du kannst in C++ keine Windows Forms Anwendungen schreiben, wenn dann mit C++/CLI. Und C++/CLI ist, auch wenn es damit möglich ist, absolut nicht dafür gedacht. Wenn du Windows Forms Anwendungen schreiben willst, dann nimm sowas wie C#...

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

21.02.2013, 21:59

Oh shit. Erst lernt er eine Sprache, von der er glaubt es sei C++, obwohl sie es nicht ist und dann wirft er mit statischen und globalen Variablen um sich. Warum in Gottes Namen ist lesen und lernen heute nur so verpönt? Immer gleich drauf los, ohne zu wissen, was man da tut und warum.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

21.02.2013, 22:31

Naja, viele Anfänger wollen eben C++ lernen, weil ihnen der Eindruck vermittelt wird, dass das eben die Sprache ist, die "richtige" Spieleprogrammierer verwenden. Und jeder will bald mal GUI zusammenklicken, weil die Konsole eben schnell fad wird. Das wahre Problem ist imo, dass C++/CLI von vielen Stellen als etwas angepriesen wurde und wird, das es nicht ist, teilweise sogar von Microsoft selbst, wenn auch eher auf indirektem Wege und mittlerweile nicht mehr, aber der Schaden ist schon angerichtet. Anfängern würde ich da keinen Vorwurf machen, eher jenen, die dafür gesorgt haben, dass überhaupt jemand auch nur auf die Idee kommen kann, dass es auch nur irgendwie sinnvoll sein könnte, für sowas "C++" zu verwenden...

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

22.02.2013, 06:53

Durchaus ist der Lehrer hier in die Pflicht zu nehmen. Den Vorwurf mache ich dem Schüler aber an der Stelle, wo er lauter Krempel benutzt, den er nicht verstanden hat. Das hat Maxolia schon in mehr als einem Topic zur Schau gestellt. Dafür kann dann der Lehrer aber nichts.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

22.02.2013, 12:58

Ein Vorteil wäre ja den Anfängern wenigstens hier nicht immer C++ vorzuschlagen. Allein die Probleme die man da am Anfang so meisten muss. Die beiden Topics zu den Büchern zeigen das ja schon ganz gut. Bibliotheken einbinden, Zeichensätze anpassen, kompilieren, das alles bringt schon Hürden mit, die ein Anfänger normal nicht braucht. Vor allem wenn sein einziges Ziel es ist, ein Spiel zu entwickeln Und oft kommt das Argument, wenn du alles bis ins kleinste Detail kontrollieren und verstehen möchtest, dann nimm C++ und wenn du nur schnell mal ein Spiel bauen willst, dann nimm was anderes. Nun das gibt unterschwellig wieder die Meinung mit, wenn du es richtig machen willst nimm C++ und alles andere ist halt der Weg für die Faulen. Da hätte ich mit 14 vermutlich allein aus falschem Stolz schon zu C++ gegriffen, obwohl ich nicht gewusst/verstanden hätte, welchen Vorteil/Nachteil ich dadurch habe. Den kann man halt an diesem Punkt auch noch nicht verstehen.
Dann ist das mit den statischen und globalen Variablen natürlich mist. Wenn ihm nun aber vorgeschlagen wird statische Variablen zu benutzen, dann ist das halt ne schwere Sache. Natürlich hat er indirekt danach gefragt, aber man könnte ja jetzt erklären, dass man das sehr gut durch Code Design lösen kann. Dann könnte man vielleicht ein kleines Beispiel machen und alles ist gut.
Dann gibt es da aber noch einen Punkt. Warum wird immer noch so oft WinForms benutzt? Ist das aus Faulheit sich mal WPF anzugucken? Gut als Anfänger hört man vielleicht was von Forms und denkt dann, dass ist der richtige Projekttyp. Unter WPF kann man sich da ja erst mal wenig vorstellen. Aber nicht nur Anfänger machen diesen "Fehler". Man sieht so oft von allen möglichen Menschen irgendwelche Formsanwendungen. WPF hat extrem viele Vorteile und Forms haben sicherlich ihre Projekte, in denen sie verwendet werden müssen, aber meistens geschieht das vermutlich nicht aus diesen.

Also halten wir doch mal fest. An sich solltest du bei sowas C# mit WPF verwenden, dir für den Einstieg vielleicht besser ein Buch kaufen, oder wenigstens ein Onlinebuch lesen. Galileocomputing hat da zum Beispiel was im Angebot. Dein Problem mit den Variablen ist nichts was man mit static lösen sollte. Das kann zu einigen Problemen führen, weshalb du es dir gar nicht erst angewöhnen solltest. Wenn du Werte zwischen Klassen austauschen möchtest, dann kannst du dein Programm so strukturieren, dass die Klassen über Methoden miteinander kommunizieren können. Wenn du Werte zwischen Fenstern austauschen möchtest, dann kannst du dafür gegebene Funktionen verwenden. Dafür kannst du einfach mal bei Google gucken. Aber auch hier kann man sehr viel mit Codedesign arbeiten. Wenn man sich vorher richtig Gedanken macht und natürlich auch Erfahrung hat, ist es gar nicht so schwer den Code so zu strukturieren.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

22.02.2013, 13:27

Ich schlage den Anfängern immer C# oder Unity vor, dot ebenfalls ;) Aber es gibt sehr viele "C++ Verfechter", die noch immer glauben C# sei langsam oder man habe mit C++ ja auch so viele Vorteile und überhaupt sei C++ das einzig Wahre. Das ist natürlich alles nur Kauderwelsch, über welches man als "ausgereifter" Entwickler sehr einfach hinwegsehen kann. Allerdings haben wohl die meisten "heranreifenden" Entwickler so eine Phase. Auch ich habe mal gegen C# und Unity geschimpft, so es nur ging. Völlig unberechtigt letztlich.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige