Hey leute, studiere eigentlich technische informatik, deswegen habe ich kaum erfahrungen mit oberflächenprogrammierung und mit C++ auch kaum. Muss jetzt eine anwendung programmieren in C++, die halt gut aussieht(von der oberfläche her) in WinXP. Das programm soll unter anderem über die COM-Schnittstelle kommunizieren können. Habe mir bereits VisualStudioExpress2005 und 2008 runtergeladen. Kann man damit die com-schnittstellen ansprechen? (habe gelesen , dass bei express packete fehlen wie ATL). oder reichen da die Express versionen nicht aus? MFG M.Fisch
Sollte eigentlich gehen. In C# Express2008 jedenfalls ist COM verwendung kein Problem.
Selbstverständlich kann man auch mit den Expressversionen serielle Schnittstellen ansprechen, denn auch mit den Expressversionen kann man Win32-API-Funktionen aufrufen. Welche das sind, wurde hier bereits ad nauseam diskutiert - angefangen mit CreateFile, ReadFile, WriteFile etc. bis hin zu CloseHandle.
Selbstverständlich ist auch in den Express Versionen ab 2005 die "SerialPort" Komponente enthalten. Das direkte Ansprechen der Win32-API ist somit Pipifax und nicht nötig.
Die "SerialPort-Komponente" lässt sich sicherlich auch /völlig problemlos/ mit C++ nutzen - nämlich gar nicht. Der Threadstarter aber will weder "managed C++" noch "C#" verwenden, sondern C++.
Hat er aber nicht geschrieben, dass es unmanaged C++ sein soll.
Grafische Oberfläche in der Express Version geht doch dann eh nur mit dieser managed perversion und .NET oder? MFC ist ja da nicht dabei....für C++ gibts das hier: http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c2483
hm.... also ich würde einfach gerne VisualC++ express benutzen, da ich hier die oberflächen leich zusammen klicken kann. habe zum gerät, das ich ansprechen soll ein beispielcode, allerdings ist im code #include "atlstr.h" #include "atltime.h" drin. VisualC++ 2008 Express sagt, dass es atlstr.h, atltime.h nicht gibt. diese dateien gibt es auch nicht(habe die efstplatte durchsucht)! habe versucht sie im Internet zu finden, das ergebnis war, dass diese wohl zur WTL(windows template library) gehören, aber in der WTL 8.0/7.0-7.5 sind diese dateien auch nicht drin ? kennst sich da einer aus? was macht WTL, ist das eine funktionen sammlung, damit man leicher die windows-oberfläche ansprechen kann? sorry habe echt keine ahnung, das googeln hat auch nicht viel gebracht. und die forums von msdn sind fast ausgestorben, so kommt es mir jedenfalls vor im gegensatz zur linux foren. mfg
verstehe ich das richtig--> Win32-API ist die Microsoft bibliothek um die schnittstellen anzusprechen, ist aber schon alt und nicht objektorientiert MFC (Microsoft Foundation Classes) --> eine grosse Microsoft bibliothek , wobei hiermit man die schnittstellen objektorientiert ansprechen kann WTL -> ist die gekürzte/kastrierte MFC ATL -> weiter enwicklung von Win32-API ist in MFC drin und ein teil in WTL ? Also wenn mein beispielcode die funktionen aus MFC benutzt und MFC ist aber nicht in Visual express versionen drin, dann habe ich pech und muss neue programmieren oder PRO version kaufen ? Richtig? danke für die zahlreiche antworten MFG
ATL war eine Lib für vereinfachte COM Programmierung und wurde irgendwann mal mit der MFC verheiratet weil da vieles doppelt war und untereinander nicht passte. Die MFC ist aber ziemlich 'fett' geworden und da wurde im ATL Stil noch GUI Programmierung reingepackt und die WTL draus. Im Pro Paket sind die Files im ../VC/atlmfc Verzeichniss, ob das jetzt in einem seperaten Download vom Plattform SDK oder WTL drin ist weiss ich leider auch nicht, aber SDK würde ich mal probieren.
SDK Download kannst du doch sparen, ATL/MFC sind in den Express Versionen nicht drin: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2429697&SiteID=1 im letzten Post steht aber ein Workaround der noch funktionieren könnte.
danke für die erklärung JojoS. leider kann ich so ein "workaround" nicht nutzen, da das programm (wenn es entstehen sollte ;) ) auf einer öffentlichen messe laufen soll.
Muss es C++ sein? Sonst könntest du mit der C# Express Edition und den Windows Forms was mordernes und ansehnliches programmieren.
> Win32-API ist die Microsoft bibliothek um die schnittstellen > anzusprechen, ist aber schon alt und nicht objektorientiert Das ist keine Bibliothek, sondern die grundlegende Schnittstelle, mit der jedes Programm, egal in welcher Programmiersprache geschrieben, mit Windows kommuniziert. ATL, MFC, .Net und was auch immer, all diese Bibliotheken kommunizieren letztlich über die Win32-API mit Windows. MFC ist eine ziemlich alte und nicht sonderlich beliebte C++-Klassenbibliothek, die nicht im Lieferumfang von Visual C++ Express enthalten ist. Du kannst mit den Express-Versionen nur Klassenbibliotheken nutzen, die bei den Express-Versionen dabei sind, aber um mit der seriellen Schnittstelle zu kommunizieren, braucht es nun wirklich keiner C++-Klassenbibliothek. Du kannst aber auch mit anständigen C++-Klassenbibliotheken arbeiten, wxWidgets kann mit Visual C++ Express verwendet werden, ist frei verfügbar und es gibt dafür eine anständige Komponente für den Gebrauch serieller Schnittstellen. Das sogenannte "Terminalprogramm" von Tobi (hterm) ist damit geschrieben.
Max, Du hast geschrieben, dass es in C++ programmiert sein muss. Falls es managed C++ sein kann, dann wirst Du mit .NET, WinForms und der SerialPort Komponente innerhalb kürzester Zeit was lauffähiges hinbekommen und alles benötigte ist im Visual Studio Express Edition bereits integriert. Falls es native C++ sein muss, also unmanaged, dann wird es eine kompliziertere Geschichte, wie bereits von den Anderen geschildert wurde.
danke allen für so viele anregungen. werde mich jetzt mal ran setzen und mir alles mal noch genauer angucken :) mfg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.