char zusammenfügen

  • Themenstarter Themenstarter seru
  • Beginndatum Beginndatum
Darum gehts jetzt nicht das hat schon seine Gründe!!
Kann mir jetzt jemand bitte bei diesem Problem helfen!
Ich müsste einfach nur eine Reihe von ASCII Zeichen in ein Array speichern!
Das ist eigentlich ganz einfach aber bei mir funktioniert nix! :(

Kann das was damit zutun haben, dass mein Projekt eine MFC Anwendung ist und ich dieses Array im .h file definiere
 
Meine Gründe sind dass diese Entwicklungsumgebung mir vorgegeben wurde!!
Zusammenhänge habe ich scho zuvor erwähnt. Es geht darum eine Reihe von ASCII Zeichen über die serielle Schnittstelle zu übertragen und
weiter Zeichen von der seriellen zu Empfangen. Die Zeichen müssen in ASCII Code gesendet werden, da ansonst die Anwendung die auf der seriellen Schnittstelle hängt die Zeichen nicht erkennt.
Das ganze Projekt ist eine MFC Anwendung. Nämlich wird beim kompelieren ein Active X Steuerelement (.ocx) erstellt !!
 
Was du machen willst ist mittlerweile klar. Mit Zusammenhang war eher Codezusammenhang gemeint, denn wie erwähnt, der gepostete Code erzeugt keine Fehler.
 
der gesamte Code meines .h files

#if !defined(AFX_OEBBSTEUERELEMENTCTL_H__5FEFA690_FF48_4895_A689_4AE94967D0FD__INCLUDED_)
#define AFX_OEBBSTEUERELEMENTCTL_H__5FEFA690_FF48_4895_A689_4AE94967D0FD__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// OEBBSteuerelementCtl.h: Deklaration der COEBBSteuerelementCtrl-ActiveX-Steuerelementeklasse.

/////////////////////////////////////////////////////////////////////////////
// COEBBSteuerelementCtrl: Siehe OEBBSteuerelementCtl.cpp für Implementierung.

class COEBBSteuerelementCtrl : public COleControl
{
DECLARE_DYNCREATE(COEBBSteuerelementCtrl)

// Konstruktor
public:
COEBBSteuerelementCtrl();

// Überladungen
// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
//{{AFX_VIRTUAL(COEBBSteuerelementCtrl)
public:
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
virtual void DoPropExchange(CPropExchange* pPX);
virtual void OnResetState();
//}}AFX_VIRTUAL

// Implementierung
protected:
~COEBBSteuerelementCtrl();


DECLARE_OLECREATE_EX(COEBBSteuerelementCtrl) // Klassenerzeugung und GUID
DECLARE_OLETYPELIB(COEBBSteuerelementCtrl) // GetTypeInfo
DECLARE_PROPPAGEIDS(COEBBSteuerelementCtrl) // Eigenschaftenseiten-IDs
DECLARE_OLECTLTYPE(COEBBSteuerelementCtrl) // Typname und versch. Status

// Nachrichtenzuordnungstabellen
//{{AFX_MSG(COEBBSteuerelementCtrl)
// HINWEIS - Der Klassen-Assistent fügt Member-Funktionen hier ein und entfernt diese.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MSG
DECLARE_MESSAGE_MAP()

// Dispatch-Tabellen
//{{AFX_DISPATCH(COEBBSteuerelementCtrl)
afx_msg short ClockWatchdog();
afx_msg float MeasureSYSTmp();

//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
// Ereignistabellen
//{{AFX_EVENT(COEBBSteuerelementCtrl)
// HINWEIS - Der Klassen-Assistent fügt Member-Funktionen hier ein und entfernt diese.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_EVENT
DECLARE_EVENT_MAP()

// Dispatch- und Ereignis-IDs
public:
enum {
//{{AFX_DISP_ID(COEBBSteuerelementCtrl)
dispidClockWatchdog = 1L,
//}}AFX_DISP_ID
};

private:
short InitWatchDog(short Triggertime,short OffTime,short StartTrigger);
short COMport(char *m_sBuffer);
float GetSYSTmp();
short SetWdgTime(short WdgTime);
short m_nMinute;
short m_nTimer;
short m_nTimeout;
char buffer[] = { 2 /*STX*/, '1', '0', '0', '1', ' ', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0',' ', 3 /*ETX*/ };
char m_sBufRes[96];
int m_nAnzahl;
float m_nTemp;
short m_nWdgT1;
short m_nWdgT2;
Tserial *com;

};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.

#endif // !defined(AFX_OEBBSTEUERELEMENTCTL_H__5FEFA690_FF48_4895_A689_4AE94967D0FD__INCLUDED)
 
Nur statische Member einer Klasse können direkt initialisiert werden. Definiere buffer statisch und in der .CPP Datei wird die Variable dann initialisiert.
 
Was meinst du mit statisch mit "static" oder außerhalb der Klasse bitte Codebsp. !
 
Die Begriffe static und "ausserhalb der Klasse" sind nicht exklusiv, du kannst auch ausserhalb der Klasse die statische Speicherklasse angeben. Aber ja ich meine einfach ganz normal als statischen Member der Klasse.
 
Ich hab's jetzt mit 'static' versucht => bekomme die selben beiden Fehler wie vorher
Code: static char buffer[] = { 2 /*STX*/, '1', '0', '0', '1', ' ', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0',' ', 3 /*ETX*/ };
 
Zurück