Ich danke!
Ein kleiner Fehler ist dir unterlaufen
Statt
Delphi-Quellcode:
type
TValueRelationShip = 1..1;
muss
Delphi-Quellcode:
type
TValueRelationShip = -1..1;
eingesetzt werden.
Ich habe mir die dritte Funktion auch mal nach der Anleitung selbst zusammengebastelt, ist aber nicht so schön geworden, wie bei dir...
Doch daher habe ich es erstmal zum Laufen gekriegt.
Doch leider gibt es einige weitere Probleme in der AdBuffer.pas
1.: [Fehler] AdBuffer.pas(159): Deklaration von 'SetSize' unterscheidet sich von vorheriger Deklaration
Delphi-Quellcode:
protected
procedure SetSize(NewSize: Int64); override;
-> Wie ist die Deklaration richtig?
2.: [Fehler] AdBuffer.pas(181): Deklaration von 'Seek' unterscheidet sich von vorheriger Deklaration
function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override;
-> Ich habe die richtige Deklaration zwar gefunden, doch TSeekOrigin und Word sind nicht kompatibel
--> Richtige Deklaration:
function Seek(Offset: Longint; Origin: Word): Longint; virtual; abstract;
Und in der Andorra-Datei sieht die Funktion so aus:
Delphi-Quellcode:
function TAdBufferStreamAdapter.Seek(const Offset: Int64;
Origin: TSeekOrigin): Int64;
var
newpos: Int64;
begin
newpos := 0;
//Calculate the new seek position depending on the given origin.
case Origin of
soBeginning: newpos := Offset;
soCurrent:
begin
if FNewSeekPos = -1 then
newpos := FPosition + Offset
else
newpos := FNewSeekPos + Offset
end;
soEnd: newpos := FStream.Size + Offset; //Offset is < 0
end;
//Fit "newpos" to the stream size bounds
if newpos <= 0 then
newpos := 0
else if newpos > FStream.Size then
newpos := FStream.Size;
//Return the new position
result := newpos;
FNewSeekPos := newpos;
end;

Wie kann ich das beheben? Oder muss ich mir doch irgendwo ein neueres Delphi zulegen? Delphi 6 gabs ja mal kurzzeitig kostenlos, doch die Links sind alle tot oder man wird auf die neue Homepage weitergeleitet und kann sich da eine 30-Tage-Version laden...
Viele Grüße!