Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [Fataler Fehler] F2084 Interner Fehler: C (https://www.delphipraxis.net/133997-%5Bfataler-fehler%5D-f2084-interner-fehler-c.html)

Spezi 13. Mai 2009 16:36


[Fataler Fehler] F2084 Interner Fehler: C
 
Hallo,

bei meiner Arbeit mit Delphi bin ich schon öfter über diesen Fheler gestolpert konnt aber mit ihm noch nie etwas anfangen...
kann mir jemand erklären was das für ein Fehler ist??

mkinzler 13. Mai 2009 16:41

Re: [Fataler Fehler] F2084 Interner Fehler: C
 
Ein interner Fehler ist ein Fehler, den ein Anwender nicht zu Gesicht bekommen sollte
Welcher interne Fehler ist es genau?
Bei Google suchenF2084 Internal Error

mirage228 13. Mai 2009 17:45

Re: [Fataler Fehler] F2084 Interner Fehler: C
 
Interne Fehler, die nur mit "C" anfangen treten im Code-Generator auf, falls Dir das weiterhilft...

Spezi 13. Mai 2009 20:33

Re: [Fataler Fehler] F2084 Interner Fehler: C
 
mhm... okay danke... aber wirklich weiterhelfen tut mir das auch nicht^^

Spezi 13. Mai 2009 21:20

Re: [Fataler Fehler] F2084 Interner Fehler: C
 
ich kann euch ja mal den Qurlltext der Funktion geben an deren ende der fehler auftritt....

Delphi-Quellcode:
procedure TFAbbHohl.ZeichnenClick(Sender: TObject);
var
  brennweite,bildweite,bildgroesse,gegenstandsweite, gegenstandsgroesse,zahl: Integer;
  Brennpunkt,Start,Ende,Gegenstand:TPoint;
  weiter1,weiter2,weiter3 : boolean;
  m : Double;
begin
  PaintBox1.refresh;
  //Eingabeprüfung
  weiter1 := true;
  try
    brennweite:= StrtoInt(brennweiteedit.Text);
    gegenstandsweite:=StrtoInt(weiteedit.Text);
    gegenstandsgroesse:=StrtoInt(groesseedit.Text);
  except
    showmessage('Zulässigen Ganzzahligen Wert eingeben!');
    weiter1 := false;
  end;
  if weiter1 then
  begin
    if brennweite <0 then
    begin
      showmessage('Wert größer Null eingeben!');
      brennweite:=250;
      weiter1:=false;
    end;
    if gegenstandsweite=2*brennweite then
    begin
      weiter2:=true;
      weiter1:=false;
    end;
    if gegenstandsweite=brennweite then
    begin
      showmessage('Gegenstandsweite ungleich Brennweite eingeben');
      gegenstandsweite:=300;
    end;
    if gegenstandsweite<brennweite then
    begin
      weiter3:=true;
      weiter1:=false;
    end;
    if gegenstandsgroesse<0 then
    begin
      showmessage('Wert größer Null eingeben !');
      gegenstandsgroesse:=50;
      weiter1:=false;
    end;
  end;
  if weiter1 then
  begin
    Brennpunkt:=Hohlspiegel (brennweite);
    //Optische Achse
    Paintbox1.Canvas.Pen.Style:=psdash;
    Paintbox1.Canvas.Pen.Color:=clblack;
    Paintbox1.Canvas.Pen.Width:=1;
    Paintbox1.Canvas.MoveTo(0,Clientheight *2 div 3);
    Paintbox1.Canvas.LineTo(clientwidth,Clientheight *2 div 3);
    Paintbox1.Canvas.Pen.Style:=pssolid;
    Paintbox1.Canvas.Pen.Color:=claqua;
    Paintbox1.Canvas.Pen.Width:=5;
    linie(Brennpunkt.X,Brennpunkt.Y,Brennpunkt.X,Brennpunkt.Y);
    Paintbox1.Canvas.Pen.Width:=1;
    //Gegenstandspfeil
    Paintbox1.Canvas.Pen.Color:=clred;
    Start.X:=Brennpunkt.X+brennweite-gegenstandsweite;
    Start.Y:=Brennpunkt.Y-gegenstandsgroesse;
    pfeil(Start.X,Brennpunkt.Y,Start.Y);
    //Parallelstrahl-->Brennpunktstrahl
    Paintbox1.Canvas.Pen.Color:=rgb(255,216,0);
    Ende:=Start;
    repeat
      inc(Ende.X);
    until Paintbox1.Canvas.Pixels[Ende.X,Ende.Y]=clblack;
    linie(Start.X,Start.Y,Ende.X,Ende.Y);
    Start:=Ende;
    m:=(Brennpunkt.Y-Start.Y)/(Start.X-Brennpunkt.X);
    Ende:=Brennpunkt;
    linie(Start.X,Start.Y,Ende.X,Ende.Y);
    zahl:=0;
    repeat
      dec(Ende.X);
      zahl:=zahl+1
    until (Ende.X=0)or(Ende.Y=clientheight);
    Ende.Y:=round(Ende.Y+(zahl*m));
    linie(Start.X,Start.Y,Ende.X,Ende.Y);
    // Brennpunktstrahl-->Paralellstrahl
    Paintbox1.Canvas.Pen.Color:=rgb(255,216,10);
    Start.X:=Brennpunkt.X+brennweite-gegenstandsweite;
    Start.Y:=Brennpunkt.Y-gegenstandsgroesse;
    Ende:=Start;
    m:=(Brennpunkt.Y-Start.Y)/(Brennpunkt.X-Start.X);
    zahl:=0;
    repeat
      inc(Ende.X);
      inc(zahl);
    until (Paintbox1.Canvas.Pixels[Ende.X,round(Ende.Y+(zahl*m))]=clblack)or (Ende.X=clientwidth);
    Ende.Y:=round(Ende.Y+(zahl*m));
    linie(Start.X,Start.Y,Ende.X,Ende.Y);
    Start:=Ende ;
    repeat
      dec (Ende.X);
      if Paintbox1.Canvas.Pixels[Ende.X,Ende.Y]=rgb(255,216,0) then zahl:=Ende.X;
    until Ende.X =0;
    linie(Start.X,Start.Y,Ende.X,Ende.Y);
    Paintbox1.Canvas.Pen.Color:=clred;
    pfeil(zahl,Brennpunkt.Y,Ende.Y);
  end;
  if weiter2 then
  begin
    Brennpunkt:=Hohlspiegel (brennweite);
    //Optische Achse
    Paintbox1.Canvas.Pen.Style:=psdash;
    Paintbox1.Canvas.Pen.Color:=clblack;
    Paintbox1.Canvas.Pen.Width:=1;
    Paintbox1.Canvas.MoveTo(0,Clientheight *2 div 3);
    Paintbox1.Canvas.LineTo(clientwidth,Clientheight *2 div 3);
    Paintbox1.Canvas.Pen.Style:=pssolid;
    Paintbox1.Canvas.Pen.Color:=claqua;
    Paintbox1.Canvas.Pen.Width:=5;
    linie(Brennpunkt.X,Brennpunkt.Y,Brennpunkt.X,Brennpunkt.Y);
    Paintbox1.Canvas.Pen.Width:=1;
    //Pfeile
    Paintbox1.Canvas.Pen.Color:=clred;
    pfeil(Brennpunkt.X+brennweite-gegenstandsweite,Brennpunkt.Y,Brennpunkt.Y-gegenstandsgroesse);
    pfeil(Brennpunkt.X+brennweite-gegenstandsweite,Brennpunkt.Y,Brennpunkt.Y+gegenstandsgroesse);
    //Strahlen
    Start.X:=Brennpunkt.X+brennweite-gegenstandsweite;
    Start.Y:=Brennpunkt.Y-gegenstandsgroesse;
    Ende:=Start;
    repeat
      inc(Ende);
    until Paintbox1.Canvas.Pixels[Ende.X,Ende.Y]=clblack;
    linie(Start.X,Start.Y,Ende.X,Ende.Y);
    Start.Y:=Brennpunkt.Y+gegenstandsgroesse;
    linie(Ende.X,Ende.Y,Start.X,Start.Y);
    Ende.X:=Start.X;
    repeat
      inc(Start);
    until Paintbox1.Canvas.Pixels[Ende.X,Ende.Y]=clblack;
    linie(Ende.X,Start.Y,Start.X,Start.Y);
    linie(Start.X,Ende.Y,Ende.X,Start.Y);
  end;
end;
Genaue Fehlermeldung:
[Fataler Fehler] UAbbHohl.pas(217): F2084 Interner Fehler: C10834

Bitte nicht über sinnhaftigkeit disskutieren ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz