Newsgroup: it.comp.lang.delphi
Titolo: Sig sig: AIUTO !!!!! [Internal Error X865]

Ciao a Tutti
So di aver chiesto la stessa cosa precedentemente, ma qualcuno
puņ aiutamri a capire l'arcano ?
Ho un .PAS scrito in Delphi 6.
E' una classe semplice semplice che applica dei calcoli
ad una serie di dati e pubblica i risultati attraverso
una marea di Array di double pubblici.
Un costrutore, un distruttore (vuoto) e 2 metodi.
Fine.
Funziona a meraviglia su D6
Poi lo compilo con Delphi 7 Ent. e mi becco il fetentissimo
[Internal Error X865]
Riesco ad evitarlo eliminando la 'Compiler Optimization', ma io
NON voglio rinunciare al'ottimizazione del compilatore !!!!!!!!!!!!!!!1111
Posto il codice che genera l'errore
Tutti gli array sono di tipo Double a dimensione fissa, emtre i vari
Day[x].qualcosa sono Currency
AIUUUUUTO! !!!!!
Ciao e Grazie
--------------------------------------------------
procedure TTsClass.StartMahMil;
Var
 i : Integer;
 tAr, tAr2 : Array of Double;
begin
 FSarh[1] := 0;
 Sarh[1] := 0;
 FSarl[1] := 0;
 Sarl[1] := 0;
    For i := 2 To nDati Do Begin
     If Outside[i] Then Begin
         FSarh[i] := FPivot[i]*2-Day[i].Lo;
         Sarh[i] := Pivot[i]*2-Day[i].Lo;
         FSarl[i] := FPivot[i]*2-Day[i].Hi;
         Sarl[i] := Pivot[i]*2-Day[i].Hi;
        End Else Begin
         FSarh[i] := FPivot[i-1]*2-Day[i-1].Lo;
         Sarh[i] := Pivot[i-1]*2-Day[i-1].Lo;
         FSarl[i] := FPivot[i-1]*2-Day[i-1].Hi;
         Sarl[i] := Pivot[i-1]*2-Day[i-1].Hi;
        End;
 End;
    FMah[1] := 0;
    FMil[1] := 0;
    For i := 2 To nDati Do Begin
     FMah[i] := Max( Max(FSarh[i], Sarh[i]), Max(Day[i].Hi, Day[i-1].Clo));
     FMil[i] := Min( Min(FSarl[i], Sarl[i]), Min(Day[i].Lo, Day[i-1].Clo));
    End;
    SetLength(tAr, nDati);
    CreaDAr(FMah, tAr);
    SetLength(tAr2, nDati);
    CreaDAr(FMil, tAr2);
    For i := 1 To 3 Do Fm[i] := 0;
    For i := 4 To nDati Do
     FM[i] := (MaxValue(Copy(tAr, i-3, 3))+MinValue(Copy(tAr2, i-3, 3)))/2;
    For i := 1 To 3 Do Begin
     Femah[i] := 0;
     Femil[i] := 0;
     Fhl[i] := 0;
     Ma2[i] := 0;
     Mi2[i] := 0;
     Emah[i] := 0;
     Emil[i] := 0;
        KeyArea1[i] := 0;
        KeyArea2[i] := 0;
    End;
    For i := 4 To nDati Do Begin
     Femah[i] := Max(FMah[i], Fm[i]);
     Femil[i] := Min(FMil[i], Fm[i]);
     Fhl[i] := (FeMah[i]+Femil[i])/2;
     Ma2[i] := Max(Day[i-1].Clo, Day[i-2].Clo);
     Mi2[i] := Min(Day[i-1].Clo, Day[i-2].Clo);
     Emah[i] := Max(Day[i].Lo, Fmah[i-1]);
     Emil[i] := Min(Day[i].Hi, Fmil[i-1]);
        KeyArea1[i] := Max(Pivot[i], Max(Flh[i], Fhl[i]));
        KeyArea2[i] := Min(Pivot[i], Min(Flh[i], Fhl[i]));
    End;
end;   <<<<<< DOVE VIENE SEGNALATO L?ERRORE !!!!!!!

 [Internal Error X865]
Internal error: <>
Possible Cause of Error
These types of errors are extremely rare in Delphi. They are caused by a
programming error in the compiler itself.
1. If the error code is L1317, it is Delphi 3 specific. The error may be
related to Delphi 3s Code Insight features.
2. If the error code is URW337 with Delphi 2 or L1086 with Delphi 3, you may
get it while attempting to compile. If you then attempt to compile again,
you may receive the error message Fatal Error: Unit SysUtils was compiled
with a different version of System.
3. If the error code is C3254, it is apparently Delphi 2 specific. You may
have made an assignment to the implicit Result variable in asm code.
Quick Fix
1. Do a Build All (Project | Build All) as opposed to a simple compile
(Project | Compile).
2. Try a Build All as noted for #1 above, or first delete all of the project
compiled unit (.DCU) and package (.DCP) files and then recompile. If that
still doesn't solve the problem, shut down Delphi and then restart it to
reset it so that it no longer thinks it is dealing with a modified version
of the System unit.
3. Upgrade to Delphi 3 or higher (wherein this problem is fixed).
Additional Information
2. This error is usually raised when the compiler cannot determine if a
compiled unit (.DCU) or package (.DCP) file needs to be recompiled. If you
are using packages (run time or design time), you may find it advantageous
to create a directory expressly for package (.DCP) files. You can do this by
selecting Tools | Environment and the Library tab, and then making the
appropriate entry in the DCP Output Directory combo box. This will help
ensure that the compiler always uses the newest package (.DCP) file. If you
are using packages, you might find it advantageous to verify that all
packages have the {$IMPLICITBUILD ON} compiler switch enabled.
Acqua.

  End;
5) l'errore non è sulla END.
Qualcosa prim alo fa inkazzare.
Esegue la routine passo passo e controlla sopratutto le righe che scrivono
nell'array dinamico.
Infine, hai sysutils nelle uses della tua unit?
Bye
A

 Usa dei Subject più Idonei, corretti, chiamali come vuoi ma evita di


 wrote in message
news:bcn84t$2fgf$1...@newsreader1.mclink.it...
