Hallo Forum,
ich bin neu hier und beschäftige mich studienbedingt mit Delphi bzw. Object Pascal.
Ich habe ein Problem und komme einfach nicht dahinter was es sein könnte. Ich habe den Fehler schon eingegrenzt...zumindest denke ich das es daran liegt.
Delphi-Quellcode:
function TBigInteger.copy:TBigInteger;
var
r : PBigInteger;
begin
//r.BigInteger(BigIntegerToStr());
new(r,BigInteger(BigIntegerToStr()));
result := r^;
end;
An dieser Stelle wird mir ein interner Fehler C1537 gemeldet und ich habe schon 2Tage gegoogelt aber nichts darüber gefunden. Was ist der interne Fehler und was löst es aus bzw. wie kann ich diesen Fehler beseitigen.
Der Aufruf hin zu dieser Funktion erfolgt so:
Delphi-Quellcode:
function xyz (const a: TBigInteger; const b : TBigInteger):TBigInteger;
var
n,m: LongInt;
xh,xl,yh,yl: TBigInteger;
t3,t1,t2: TBigInteger;
z1,z2,z3,z4,z5: TBigInteger;
begin
inc(c);
m := Max(a.bitLength(),b.bitLength());
Debug('max: '+IntToStr(m));
if (m <= 2) then
begin
result := a.multr(b);
end else
begin
Debug('Durchgang: '+IntToStr(c));
Debug('----------------');
n := (m div 2);
(****************** X ***********************)
//BigInteger xH = x.shiftRight (n);
xh := a.shrR(n);
und in shrR sieht der Code dann so aus:
Delphi-Quellcode:
function TBigInteger.shrR(n: Integer): TBigInteger;
var
tmp: TBigInteger;
begin
tmp := copy();
tmp.shiftright(n);
result := tmp.copy();
end;
Wo kann hier der Fehler sein?
Als Info: Unter FreePascal funktioniert dieser Code ohne Probleme. Ich benutze Borland Delphi 2005.
Hoffe das ihr mir helfen könnt.