Drucken

aha okay, sorry


die auf einen Fehler wartet, und den Fehlercode dann zurückgibt, sodass der Fehlercode dann in "Logfehler" landet, gedruckt wird

okay, das hab ich so gemacht:
Code:
int GetError()
{
 if(Logmeldungen !== NULL)
 {
  return Logmeldungen;
 }
  
}

Meinst du das so?


Was ich noch nicht weiß ist wie ich das machen muss:
dass das Programm dann beim nächsten Aufruf von GetError() hängenbleibt bis wieder ein Fehler kommt
 
unter "die auf einen Fehler wartet" und "haengenbleibt, bis ein Fehler kommt" meinte ich dasselbe :-(

dein code fur GetError() wuerde ja auf nichts warten.
eher was mit
Code:
int GetError()
{
  Logmeldungen = NULL;
  while(Logmeldungen==NULL); // warten bis Logmeldungen verschieden von NULL wird
  return Logmeldungen;
}
doch wüsste ich nicht wann "Logmeldungen" seinen Wert ändern wird. Es sei denn du schreibst ein Multithreading-programm.
ansonsten soetwas:
Code:
int GetError()
{
  do
  {
    Logmeldungen = /* Deine Fehlerquelle */;
  }while(Logmeldungen==NULL); // NULL als "kein Fehler" Fehlercode
  return Logmeldungen;
}

PS: darf ich erfahren was denn die Fehlerquelle ist? :rolleyes:
 
darf ich erfahren was denn die Fehlerquelle

-->klar meinst du aber mit Fehlerquelle?
Logmeldungen = /* Deine Fehlerquelle */; :-)


irgenwie aber hab ich immer noch das Gefühl , wenn die Fehlermeldung" Danke" heißt, dass
dann DankeDankeDankeusw gedruckt wird oder versteht ich da was komplett falsch. Hab mir grad alle Beiträge nochmal durchgelesen ;-)
 
elso erstmal wo hast du Fehler gesehen die "Danke" sagen? :D ;)

ne ernsthaft, wir haben doch
int Logfehler;
deklariert, also kann Logfehler kein String sein.
Logmeldungen = /* Deine Fehlerquelle */;
aber was ist die Fehlerquelle? Willst du gucken ob Datei richtig geschpeichert wurde, ob der Bilschirm richtige Aufloesung hat... letztendlich vielleicht ob der Benutzer am aufm Stuhl vor dem PC sitzt?

ich glaube ich weiss jetzt was du mit "variable löschen" meintest. Das liegt aber wieder an deiner Fehlerquelle. Falls das (Fehlerquelle) sowas wieder wie eine Variable ist, dann stimmt das mit dem löschen, hier:
Code:
int GetError()
{
  do
  {
    Logmeldungen = Fehlerquelle;  // eine simple Variable?
  }while(Logmeldungen==NULL); // NULL als "kein Fehler" Fehlercode
  Fehlerquelle = NULL;
  return Logmeldungen;
}
jedoch wüsste ich nicht wieso sich (und wer) die Fehlerquelle Variable wärend der while() Schleife ändern sollte?
 
Zuletzt bearbeitet:
bei mir heißts jetzt:
int Logmeldungen; aber das ist wurst ;-)

und darin steht dann der Fehler ( keine Ahnung welche, wenns halt Problem gibt beim auswerten usw, ist ja egal )

Deswegen versteh ich nicht was Fehlerquelle sein soll, brauch ich doch nicht oder?

So müssts doch auch gehn:
Code:
while(true)
{
 
 if(Logmeldungen != NULL)
 {
  fprintf(Drucker,"%d\n",Logmeldungen);
  Logmeldungen = NULL; //Logmeldungen Inhalt löschen
  //wenn dann nach einer gewissen Zeit wieder was in der Variablen
  //Logmeldungen reinkommt, soll wieder gedruckt werden
 } 
}
 
lol

Vorschläge:
Multithreading + :google: suchwort CreateThread
muss man sich zuerst reindenken bevor man anfängt so proggs zu schreiben

oder sobald du weisst welche Fehler dein Programm abfangen soll, gibts eventuell WinAPI Funktionen dazu.
 
Multithreading = mehrere Threads "Codes" paralel laufen lassen.
Fur deinen zweck, dass ein Thread druckt, falls was in Logfehler reingeschrieben wird, und der andere schreibt den Fehler in Logfehler rein.

(!) mach dir das Leben nicht schwer mit Threads. (wierhole ich das jetzt zum 10 mal? ;) ) Wen du weisst wo du die Fehler herbekommst, kannst du das auch ohne Multithreading machen.
 
Zurück