Einzelnen Beitrag anzeigen

Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 20:35
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!
  Mit Zitat antworten Zitat