Die Frage gehört zwar eigentlich in das C++ Forum, aber egal :).
In der Headerdatei steht normalerweise die Deklaration der Klasse, mit allen Membern, Konstruktoren, Methodenprototypen, usw., jedoch aber kein eigentlicher Code. Der wird in die *.cpp Datei geschrieben. Hier ein kleines Beispiel:
// Inhalt von Test.h
// includes usw.
class Test
{
public:
void MachEtwas(); // das ist der Prototyp (Deklaration) der Methode MachEtwas()
}
// Inhalt von Test.cpp
// includes usw.
void Test::MachEtwas() {
// hier steht schlussendlich der Code, den die Methode ausführt
}
Grundsätzlich trennt man die Deklaration und den "eigentlichen Code" nur wegen besserer Übersichtlichkeit. Du kannst natürlich auch alles nur in Header- oder *.cpp Dateien schreiben, das sieht dann aber nicht wirklich schön aus und dauert vermutlich länger beim Kompilieren.
der variablen Namen lautet im code auch anders.
es ist mit relativ egal ob zahlen nicht eingegeben werden können oder die prüfung per Regex. der code ist momentan noch recht flexibel umstellbar :).
hast du eine idee?
Hallo zusammen,
ich habe mit Visual Studio 2003 eine C#-Anwendung für den PocketPC entwickelt. Diese verwendet eine StackForm für MultiForm-Anwendungen. Das Problem ist nun folgendes:
Ich habe selbst einige Events definiert, die ich am bestimmten Stellen auslöse. Diese kommen aber nie beim entsprechenden Eventhandler an. Irgendwie scheinen sie in der Zwischenzeit verschluckt zu werden. Die Run-Methode meines StackForms sieht folgendermaßen aus:
public void Run()
{
do
{
System.Windows.Forms.Application.DoEvents();
}while(List.Count>0);
}
Die DoEvents-Methode sollte eigentlich alle Events, für die sie nicht zuständig ist, weiterleiten an die entsprechenden Eventhandler. Das passiert aber offensichtlich nicht. In einer kleinen Testanwendung ohne FormStack funktioniert alles wunderbar, an der Definition des Eventhandlers kann es also nicht liegen. Hat jemand Erfahrungen damit?
Vielen Dank für Eure Hilfe!
Gruß Benni
Hi,
ich möchte eine Lib in C++ CLI schreiben und die sowohl in C++ CLI Apps wie auch in C# Apps verwenden. In dieser Lib kommen Klassen vor die Operatoren haben und jetzt fängt das Problem an.
Ich habe nun zwei Möglichkeiten
1.)
Vector3^ operator += ( Vector3^ value );
2.)
Vector3 operator += ( Vector3 value );
Problem bei der ersten Möglichkeit:
Die Operatoren können in C# ganz normal genutzt werden, allerdings nicht in C++ auf dem Stack erstellt werden und dabei die Operatoren nutzen, sondern nur auf dem Heap.
Problem bei der zweiten Möglichkeit:
Ich kann die Klasse in C++ auf dem Stack erstellen und die Operatoren nutzen, aber di Operatoren können in C# gar nicht mehr genutzt werden.
Ich habe mir mal die Vektoren von Managed DirectX zu Gemüte geführt und erkannt das beides geht: Ich kann die die Klasse in C++ auf dem Stack erstellen und die Operatoren nutzen und die Klasse auch in C# ganz normal nutzen.
Wenn ich die Lib in C# schreibe, geht es. Da ich aber einiges Optimieren will, wäre mir C++ CLI lieber.
Im vornherein eher gar nicht. Der Formatter erkennt beim Deserialisieren aber schon, wann ein Objekt aufhört und wann ein neues anfängt, falls das deine Sorge ist. Wenn du unbedingt vorher wissen musst, wieviele Objekte kommen, kannst du vielleicht diese Information mit in die Datei schreiben.
Welche Objekte es dann sind, kannst du per Reflection herausfinden. Ich kenn jetzt deinen Anwendungsfall nicht, evtl. ist das nicht die beste Lösung.
Danke,
bin dann auf diese Lösung gekommen.
Klar, mit einem StreamReader kann ich auch nicht scheiben ...
// einlesen
streamReader = new StreamReader(mFilename);
xdd.DataSet.ReadXml(streamReader,XmlReadMode.InferSchema);
dataGrid.SetDataBinding(xdd.DataSet,"Code");
streamReader.Close();
//speichern
xdd.Save(mFilename);
zeilen als spalten und spalten als zeilen interpretieren - du musst doch ne möchgleichkeit haben auf die einzelnen Pixel des Bildes zu greifen - wo liegt das problem?
So, hab es hinbekommen.
Hab einen Artikel gefunden, der genau das Problem beschreibt.
Falls es jemanden interessiert:
http://www.devtrain.de/printnews.aspx?artnr=817
Danke für Eure Hilfe!!!
Hallo allerseits,
Für das nächste Projekt werde ich voraussichtlich ziemlich viel XML brauchen und deshalb dachte ich, könnte man von der Firma aus gerade ein weiteres Buch kaufen welches C# in Kombination als Schwerpunkt hat. Kann mir jemand ein solches Buch empfehlen? Englisch ist für mich persönlich kein Problem aber es wäre trotzdem besser wenn es auf deutsch wäre, da es in der "Firmenbibliothek" landet und wahrscheinlich nicht alle über genügend Englischkenntnisse verfügen um das zu verstehen. Und wie gesagt, der Schwerpunkt sollte auf XML mit C# liegen (Erklärungen, Beispiele etc).
Danke!
Optimizer schrieb:
energyzer schrieb:
leider ist die Fehler-Meldung bei fehlenden Runtimes ja
nicht all zu einfallsreich ("DLL bla.dll fehlt") - Eine Sache, die dann
natürlich uns angelastet wird.
Bei mir steht da immer wenigstens "To run this programm, you need one of the following versions of the .Net Framework: ..."
Noodles schrieb:
Optimizer schrieb:
Noodles schrieb:
Ich würde aber lieber die Runtime anstatt das Framework downloaden.
Wie darf das verstanden werden?
Das 23 MB kleiner als 111 MB sind.
Der Satz "Ich würde aber lieber die Runtime anstatt das Framework downloaden." macht keinen Sinn. Das .Net Framework ist der 23 MB große Download. Das andere Ding ist das SDK und von dem war nie die Rede. Tatsächlich gibt es wohl nicht viele Leute, die sich das überhaupt ziehen. Ich denke doch, dass die Mehrheit das SDK indirekt mit VS bekommt.
Jop beim VS .NET 2003 ist v1.1 SDK dabei beim 2005beta2 is v2.0 SDK dabei
Zuerst stellt sich doch mal die Frage: welcher Webserver.
Dann erst die Sprache.
Wenn es MS IIS sein soll dann c# oder was auch immer vom NET.
Mit Apache wird das aber ein Problem.
Hallo,
gibt es eine Möglichkeit, die Property Namen in PropertyGrid in schöner, leserlicher Form darzustellen. Damit meine Ich speziell die Verwendung von Leerzeichen.
Ich meine irgendwo gelesen zu haben, dass man eine eigene, von PropertyDescriptor oder TypeConverter abgeleitete Klasse erstellen muss, und dann die Funktion zum Abrufen des Property Namens überladen muss
Kann mir da vielleicht jemand weiterhelfen? Gibt's Tutorials oder kann mir jemand eine kurze Beschreibung geben?
Sorry, bin .Net Newb
Danke!
Hallihallo zusammen!
Ich möchte mit einen Web Service erstellen, welcher eine Nachricht empfängt an die ein DIME Attachment angehängt ist und dieses Attachment (z.B. ein GIF) wird dann in einem beliebigen Ordner gespeichert.
Ich programmiere mit Visual Studio in C++ und C#. Für die Verwenung der DIME Technologie nutze ich die WSE (Web Service Enhancements) von Microsoft.
Nun habe ich eine Menge in der MSDN gelesen, ich werde nur nicht wirklich schlau daraus, wich ich auf die File, welche via DIME an die SOAP Message angehängt wurde, nun zugreiufen kann, um sie in ihren Bestimmungsordner zu kopieren.
Kann mir da einer helfen? Im Prinzip sollte das ja recht banal sein, nur hab' ich irgendwie ein Brett vorm Kopp. Hier der Code der Service Methode:
public:
[System::Web::Services::WebMethod]
void RecievePDF(string senderID, DimeAttachment dAtt)
{
SoapContext *respContext = ResponseSoapContext::Current;
Console::WriteLine(senderID);
//Attachment kopieren...???
}
Kann ich direkt "dAtt" einfach in das gewünschte Verzeichnis kopieren und es so behandeln, als wäre es ein "normales" File? Ich kann mittels der Members von DimeAtttachment alles Mögliche Machen http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wseref/html/T_Microsoft_Web_Services2_Dime_DimeAttachment.asp
Nur sehe ich vor lauter Wald den Baum nicht, der mich auf das angehängte File zugreifen lässt. Es wäre prima, wenn Einer von Euch mir den zeigen könnte.
Gibt's das ThreadException Event nur in der Application Klasse, die ja Teil der WinForms ist, oder auch noch in einer anderen, nicht WinForms abhängigen Klasse?
ga_un schrieb:
so weit ich informiert bin gibt es auf dem Zielsystem keinen Prozess, der auf etwas wartet.
Dann wirst du sowieso keine Daten dahin senden können, egal ob die Verbindung OK ist.