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

1

15.10.2009, 14:07

windows forms in normales projekt einfügen?

hallol. ich hab ein programm in der console geschrieben und will jetzt mal auf gui umstellen. dazu mächt ich windows forms nehmen.

jetzt hab ich bei meinem projekt eine windows forms datei hinzugefügt, und methoden geschrieben, die mir auch aus meinen anderen classen heraus den zugriff auf labels und buttons ermöglichen.

wenn ich allerdings in irgendeiner Datei "include "gui.h" (gui heißt die forms datei) mache, dann bekomm ich widerliche Fehler.


error C2871: 'System': Es ist kein Namespace mit diesem Namen vorhanden
error C2653: 'System': Keine Klasse oder Namespace
error C2871: 'ComponentModel': Es ist kein Namespace mit diesem Namen vorhanden
error C2653: 'System': Keine Klasse oder Namespace
error C2871: 'Collections': Es ist kein Namespace mit diesem Namen vorhanden
error C2653: 'System': Keine Klasse oder Namespace
error C2871: 'Forms': Es ist kein Namespace mit diesem Namen vorhanden
error C2653: 'System': Keine Klasse oder Namespace
error C2871: 'Data': Es ist kein Namespace mit diesem Namen vorhanden
error C2653: 'System': Keine Klasse oder Namespace
error C2871: 'Drawing': Es ist kein Namespace mit diesem Namen vorhanden
error C2059: Syntaxfehler: 'public'
error C2059: Syntaxfehler: 'public'
error C2653: 'System': Keine Klasse oder Namespace
error C2143: Syntaxfehler: Es fehlt ';' vor '{'
error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil?

das ist aber vom Forms designer geschriebener Code, der in anderen Projekte super funktionert. weiß jemand was ich falsch mach oder was da falsch lauft?

lg aly

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

15.10.2009, 14:51

Windows Forms sind Teil des .NET Framework, die kannst du in normalem C++ nicht verwenden. Du müsstest ein C++/CLI Projekt machen, in dem kannst du auch nativen Code mit managed Code vermischt haben, allerdings ist das wenn man noch nie was mit .NET gemacht hab denk ich nicht grad trivial...

Generell die Frage: Brauchst du unbedingt C++? In C# ein GUI zu machen ist z.B. sehr viel weniger schmerzhaft als in C++...

C--

Alter Hase

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

3

15.10.2009, 14:53

Zitat von »"dot"«


Generell die Frage: Brauchst du unbedingt C++? In C# ein GUI zu machen ist z.B. sehr, sehr, sehr viel weniger schmerzhaft als in C++...


Da kann ich nur zustimmen
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

4

15.10.2009, 15:29

Wie schon geschrieben musst du entweder C++/CLI oder C# für Windows Forms nehmen.

Wenn du allerdings bei C++ bleiben willst, dann empfiehlt sich ein Blick auf Qt. Damit wird das GUI basteln in C++ fast so angenehm wie in .NET

5

15.10.2009, 15:29

naja, ich entwickle das eigentliche programm seit einiger zeit und hab ca 5000loc. Also alles in c# nochmal machen? Lies eh grad ein buch über winows forms und hab daher die idee mit der gui. Aber wenn ich ein c++\cli projekt mache kann ich meine nativen c++ sourcefiles hinzufügen, ohne dass es da probs gibt? Ich dachte es muss kein spezielles projekt sein und ich kann trotzdem managed code teile verwenden,..

Lg

6

15.10.2009, 15:51

Schau mal, ob du mit dem Tutorial was anfangen kannst:

http://www.codeproject.com/KB/dotnet/NETFORMSCPP.aspx

7

15.10.2009, 16:56

thx, dürfte mir helfen. werds mal ausprobieren und schaun obs so funktioniert wie ichs mir vorstelle?

achja weil mir alle zu c# raten. wie viel einfach als forms mit visualc++ kanns eigentlich werden guis zu machen...

lg Aly

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

15.10.2009, 16:59

Zitat von »"AlymcGeel"«

achja weil mir alle zu c# raten. wie viel einfach als forms mit visualc++ kanns eigentlich werden guis zu machen...


Das kann man gar nicht beschreiben, das muss man mal selber erlebt haben ;)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

9

15.10.2009, 21:40

es geht auch, indem du deine winforms klasse für com fähig machst (z. b. in einer com fähigen assembly), dann kannst du das per CreateObject(ProgID) machen in deinem c++ programm.

10

15.10.2009, 22:49

so hab eine leeres c++/clr projekt erstellt, hab dort meine dateien rein und kann dort auch eine form erzeugen und es kompiliert und linkt und alles wunderbar, ABER ich kann in meine Form keine Steuerelemente hineingeben. soll heißen sobald auch nur ein button in der form is, dann bekomm ich folgende linker meldung:

Duplizierte Typen wurden gefunden, aber die Felddeklarationen sind nicht konsistent (Typen: anthem_gui.gui; Felder: button1): (0x04000003).
Unterschiedliche Anzahl von Feldern in duplizierten Typen (anthem_gui.gui): (0x02000002).

hab danach gegoogelt, aber die lösung mit dem bereinigen hat nix gebracht...

wenn, das so weitergeht stell ich wirklich auf c# um. Aber dann kann ich nicht mehr DX9 coden oder?

lg Aly

Werbeanzeige