Einzelnen Beitrag anzeigen

jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 
#11

Re: Meldung: Var nicht initzialisiert obwohl wert zugewiesen

  Alt 21. Nov 2007, 17:21
Hallo,

Zitat von f4k3:
Nr. 1 - [Pascal Warnung] Unit1.pas(90): W1036 Variable 'res' ist möglicherweise nicht initialisiert worden

Delphi-Quellcode:
  ...;

  case op of
    '+': res := op1 + op2;
    '-': res := op1 - op2;
    '*': res := op1 * op2;
    '/': res := op1 / op2;
  end;
wenn op keinen dieser vier möglichen Operatoren enthält, kann Deine Prozedur nicht vernünftig weiterarbeiten. Einen sinnvollen Default für den Operator gibt es m.E. nicht. Ich würde daher das Werfen einer Exception bevorzugen:

Delphi-Quellcode:
  ...;

  case op of
    '+': res := op1 + op2;
    '-': res := op1 - op2;
    '*': res := op1 * op2;
    '/': res := op1 / op2;
    else raise Eception.CreateFmt('Ungültiger Operator ''%s''!', [op]);
  end;
Das verhindert auch die Compiler-Warnung.

Zitat von f4k3:
Nr. 2 - [Pascal Warnung] Unit1.pas(143): W1036 Variable 'zei' ist möglicherweise nicht initialisiert worden

Delphi-Quellcode:
  ...;

  if Sender = Button10 then zei := '0';
  if Sender = Button1 then zei := '1';
  if Sender = Button2 then zei := '2';
  if Sender = Button3 then zei := '3';
  if Sender = Button4 then zei := '4';
  if Sender = Button5 then zei := '5';
  if Sender = Button6 then zei := '6';
  if Sender = Button7 then zei := '7';
  if Sender = Button8 then zei := '8';
  if Sender = Button9 then zei := '9';
  if Sender = Button11 then zei := '.';
Hier solltest Du mit "else if" arbeiten und ein

Delphi-Quellcode:
  else
    raise Exception.Create('Unbekannter Button');
anhängen. Diese Variante verhindert ebenfalls eine Compiler-Warnung.

jkr
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  Mit Zitat antworten Zitat