CLR Komponenten



  • Hi ihr,

    Habe nun einige GUI's ausprobiert und bei allen mehr oder weniger Nachteile festgestellt.
    MFC ist älter als .net
    API habe ich zwar gelernt ist mir aber zu umständlich, weil sie nicht Objektorientiert ist.
    QT4 ist plattformunabhängig aber funktioniert wieder ganz anders.

    Aus diesem Grund würde ich gerne lernen mit CLR Komponenten zu arbeiten.
    Und zwar OHNE Formdesigner.
    Ich finde leider weder ein Buch noch ein Tutorial dazu.

    Kann mir jemand einen Tip geben?

    cya
    David



  • Ja, ist ja gar kein Problem. Den Form-Designer brauchst Du sowieso nicht, da die CRT keine Graphischen Elemente hat...
    Lern einfach ANSI-C, dann weist Du alles darüber wie man die CRT benutzt!



  • Ich kann schon C++ - warum jetzt ANSI C? 😉

    Ich würd nur gerne das, was der Form Designer in Visual Studio beim Anwählen einer CRT-Anwendung vorschreibt von Hand machen.
    Aus dem einfach Grund, weil mein Wunsch ist eigene Klassen zu schreiben, die fertige Dialoge von mir gefertigt enthalten.

    *Edit:

    Uuupps ich meine natürilch CLR CLR!!!*



  • Und was ist jetzt Dein Problem? Schau Dir doch an, was der Form Designer für Code produziert, dann kannst Du das doch nachbauen.



  • Das habe ich bereits probiert.
    Allerdings wirft mir der Compiler sogar Fehler, wenn ich einfach alle Codes von allen Dateien aus einem Windows-CLR Projekt in ein Leeres Projekt kopiere.
    Zudem steigt man durch den Code doch nicht mal grad eben so durch.
    Gibts keine Bücher oder Tuts für sowas?



  • Was für Dateien müssen denn noch mit dabei?

    CPP-Datei:

    #include "stdafx.h"
    #include "Form1.h"
    using namespace Jap;
    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {	
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false); 
    	Application::Run(gcnew Form1());
    	return 0;
    }
    

    Header:

    #pragma once
    namespace Jap 
    {
    
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public:
    		Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: Konstruktorcode hier hinzufügen.
    			//
    		}
    
    	protected:
    		~Form1()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    
    	private:
    		System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
    		void InitializeComponent(void)
    		{
    			this->SuspendLayout();
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(466, 294);
    			this->Name = L"Form1";
    			this->Text = L"Form1";
    			this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
    			this->ResumeLayout(false);
    
    		}
    #pragma endregion
    	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
    			 }
    	};
    }
    

    Fehler:

    Fehler 1 error C2039: 'ComponentModel': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 7 LeerCLR
    Fehler 2 error C2871: 'ComponentModel': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 7 LeerCLR
    Fehler 3 error C3083: "Windows": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 9 LeerCLR
    Fehler 4 error C2039: 'Forms': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 9 LeerCLR
    Fehler 5 error C2871: 'Forms': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 9 LeerCLR
    Fehler 6 error C2039: 'Data': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 10 LeerCLR
    Fehler 7 error C2871: 'Data': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 10 LeerCLR
    Fehler 8 error C2039: 'Drawing': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 11 LeerCLR
    Fehler 9 error C2871: 'Drawing': Es ist kein Namespace mit diesem Namen vorhanden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 11 LeerCLR
    Fehler 10 error C3083: "Windows": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 12 LeerCLR
    Fehler 11 error C3083: "Forms": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 12 LeerCLR
    Fehler 12 error C2039: 'Form': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 13 LeerCLR
    Fehler 13 error C2504: 'Form': Basisklasse undefiniert c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 13 LeerCLR
    Fehler 14 error C3083: "ComponentModel": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
    Fehler 15 error C2039: 'Container': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
    Fehler 16 error C2143: Syntaxfehler: Es fehlt ';' vor '^' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
    Fehler 17 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
    Fehler 18 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 33 LeerCLR
    Fehler 19 error C2065: 'components': nichtdeklarierter Bezeichner c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 26 LeerCLR
    Fehler 20 error C2065: 'components': nichtdeklarierter Bezeichner c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 28 LeerCLR
    Fehler 21 error C2541: 'delete': Objekte, die keine Zeiger sind, können nicht gelöscht werden c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 28 LeerCLR
    Fehler 22 error C2039: 'SuspendLayout': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 38 LeerCLR
    Fehler 23 error C2039: 'AutoScaleDimensions': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
    Fehler 24 error C3083: "Drawing": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
    Fehler 25 error C2039: 'SizeF': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
    Fehler 26 error C3861: "SizeF": Bezeichner wurde nicht gefunden. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 39 LeerCLR
    Fehler 27 error C2039: 'AutoScaleMode': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
    Fehler 28 error C3083: "Windows": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
    Fehler 29 error C3083: "Forms": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
    Fehler 30 error C3083: "AutoScaleMode": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
    Fehler 31 error C2039: 'Font': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
    Fehler 32 error C2065: 'Font': nichtdeklarierter Bezeichner c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 40 LeerCLR
    Fehler 33 error C2039: 'ClientSize': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
    Fehler 34 error C3083: "Drawing": Das Symbol links neben "::" muss ein Typ sein. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
    Fehler 35 error C2039: 'Size': Ist kein Element von 'System' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
    Fehler 36 error C3861: "Size": Bezeichner wurde nicht gefunden. c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 41 LeerCLR
    Fehler 37 error C2039: 'Name': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 42 LeerCLR
    Fehler 38 error C2882: 'Text': Unzulässige Verwendung eines Namespace-Bezeichners in einem Ausdruck c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 43 LeerCLR
    Fehler 39 error C2039: 'Load': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 44 LeerCLR
    Fehler 40 error C2039: 'ResumeLayout': Ist kein Element von 'Jap::Form1' c:\dokumente und einstellungen\praktikant\eigene dateien\visual studio 2008\projects\leerclr\leerclr\Form1.h 45 LeerCLR
    Fehler 41 error C2653: 'Application': Keine Klasse oder Namespace c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 6 LeerCLR
    Fehler 42 error C3861: "EnableVisualStyles": Bezeichner wurde nicht gefunden. c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 6 LeerCLR
    Fehler 43 error C2653: 'Application': Keine Klasse oder Namespace c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 7 LeerCLR
    Fehler 44 error C3861: "SetCompatibleTextRenderingDefault": Bezeichner wurde nicht gefunden. c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 7 LeerCLR
    Fehler 45 error C2653: 'Application': Keine Klasse oder Namespace c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 8 LeerCLR
    Fehler 46 error C3861: "Run": Bezeichner wurde nicht gefunden. c:\Dokumente und Einstellungen\Praktikant\Eigene Dateien\Visual Studio 2008\Projects\LeerCLR\LeerCLR\Form1.cpp 8 LeerCLR



  • Hast Du die Referenzen in CommonProperties eingetragen?



  • witte schrieb:

    Hast Du die Referenzen in CommonProperties eingetragen?

    Ganz offensichtlich nicht 😉 Sonst würde wohl an seiner Installation etwas nicht stimmen.



  • Oh ganz Offensichtlich hab ich die jetzt drin- jetzt funktioniert das sogar.
    Also Tutorials gibts trotzdem nicht? 😉



  • doch gibts bestimmt. und bücher auch.
    such mal danach in google, amazon, etc.


Anmelden zum Antworten