Einzelnen Beitrag anzeigen

thorstenf01

Registriert seit: 10. Jul 2003
Ort: Kiel
34 Beiträge
 
#1

Fehler bei der Grafikberechnung!

  Alt 14. Jul 2003, 12:49
Hallo!
Ich weiß einfach nicht weiter...
Die unteren beiden Prozeduren sind Teil einer Grafikberechnung
Nachdem ich das Programm compiliert habe und die Grafik gestartet wurde,
erhielt ich in "Zeile X" folgende Fehlermeldung:
"Im Projekt Schattenwurf1.exe ist eine Exception der Klasse
EInvalidOp aufgetreten. Meldung: 'Ungültige Gleitkommaoperationen'.
Prozeß wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen."
Wenn ich mit der Maus über die Vaiablen Dekli und Ts0 (die beide als
Globale Variablen festgelegt wurden) fuhr, erhielt ich den Wert 0
BR=54,459 und Tag=5 wurden in anderen Prozeduren deklariert.
Kann mir jemand den Fehler oder das Problem erklären?
Code:
...
procedure Deklination(Tag: integer);
var  d0, De, DeltaT, EF, Ge, Omega, DeltaL, DeltaEp, gee, EE, Aj, ZL,
      Ls, Epsi, gut                                              :real;
begin
      d0:=36524.0+Tag;
      De:=0.0001*d0;
      DeltaT:=0.00037+0.00000003*(d0-22000);
      EF:=11.25+13.22935*d0;
      Ge:=350.74+12.190749*d0;
      Omega:=259.18-0.052954*d0;
      DeltaL:=-0.00479*sin(Omega)-0.00035*sin(2*(EF-Ge+Omega));
      DeltaEp:=0.00256*cos(Omega)+0.00015*cos(2*(EF-Ge+Omega));
      gee:=358.475833+0.985600267*d0-0.0000112*De*De-0.00000007*De*De*De;
      {gee:=356.04783+0.9856003*d0;}
      EE:=0.01675104-0.000011444*De-0.0000000094*De*De;
      Aj:=0.00569*(1+EE*cos(gee))/(1-EE*EE);
      ZL:=(2*EE*sin(gee)+1.25*EE*EE*sin(2*gee)+EE*EE*EE*(13*sin(3*gee)
          -3*sin(gee))/12)*180/Pi;
      Ls:=279.696678+0.9856473354*d0+0.00002267*De*De+ZL+DeltaT-Aj;
      Epsi:=23.452294-0.0035626*De-0.000000123*De*De+0.0000000103*De*De*De
          +DeltaEp;

      Dekli:=arcsin(sin(Ls)*sin(Epsi));

      gut:=sin(0.5*Epsi)/cos(0.5*Epsi); gut:=gut*gut;
      ZG:=12*(gut*sin(2*Ls)-0.5*gut*gut*sin(4*Ls)-2*EE*sin(gee)-1.25*EE*EE
          *sin(2*gee))/Pi;
end;

procedure AU(Tag :integer); {Auf-und Untergang der Sonne}
var  WOZa, WOZu, u9           :real;
begin
      u9:=cos(BR)*cos(Dekli);
      Ts0:=(sin(-0.85)/u9)-(sin(BR)*sin(Dekli)/u9);
      Ts0:=arccos(Ts0); ---------------------------------------(*Zeile X*)
      WOZa:=12-TS0/15;
      WOZu:=12+TS0/15;
      ZZA:=WOZa-ZG+(L0-LA)/15;
      ZZU:=WOZu-ZG+(L0-LA)/15;
end;
...
Danke im voraus..
  Mit Zitat antworten Zitat