AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Andorra 2D compilieren (Delphi 5)
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2D compilieren (Delphi 5)

Ein Thema von Delphi-Narr · begonnen am 30. Dez 2010 · letzter Beitrag vom 31. Dez 2010
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

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

Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 17:50
Hallo,

ich versuche nun seit geraumer Zeit Andorra unter Delphi 5 zum Laufen zu bringen.
Dabei bin ich auf mehrere Hürden gestoßen.
Befehle werden nicht erkannt, Zeilen sind (angeblich) zu lang etc.

Ich habe mich nun bis zur Unit AdCanvas vorgekämpft.
Ich bekomme hier zwei Fehlermeldungen:
1.: [Fehler] AdCanvas.pas(1741): Undefinierter Bezeichner: 'CompareValue'

2. kennt Delphi 5 PSingle und PInteger nicht. Kann ich die einfach durch Single bzw. Integer ersetzen?

Viele Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 18:00
1.: [Fehler] AdCanvas.pas(1741): Undefinierter Bezeichner: 'CompareValue'
Wir vermutlich noch nicht vorhanden sein.
2. kennt Delphi 5 PSingle und PInteger nicht. Kann ich die einfach durch Single bzw. Integer ersetzen?
Nein. Sind jeweils die Pointertypen
Delphi-Quellcode:
PInteger = @Integer;
PSingl = @Single;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

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

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 18:06
Danke für die schnelle Antwort.
Wie deklarier ich das denn?!
Wenn ich PInteger durch @Integer ersetze kommt ebenfalls ein Fehler...

EDIT: Schon gefunden...
PInteger=^Integer;

Kann mir jemand die CompareValue Funktion zukommen lassen?

Viele Grüße!

Geändert von Delphi-Narr (30. Dez 2010 um 19:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 21:06
Mal so frei aus der Hand anhand der Beschreibung hier implementiert:
Delphi-Quellcode:
inerface

type
  TValueRelationShip = 1..1;

function CompareValue(const A: Extended; const B: Extended; Epsilon: Extended = 0): TValueRelationship; overload;
function CompareValue(const A: Double; const B: Double; Epsilon: Double = 0): TValueRelationship; overload;
function CompareValue(const A: Single; const B: Single; Epsilon: Single = 0): TValueRelationship; overload;
function CompareValue(const A: Integer; const B: Integer): TValueRelationship; overload;
function CompareValue(const A: Int64; const B: Int64): TValueRelationship; overload;

implementation

function CompareValue(const A: Extended; const B: Extended; Epsilon: Extended = 0): TValueRelationship; overload;
begin
  if (abs(A - B) < Epsilon) then
    result := 0
  else if (A > B) then
    result := 1
  else
    result := -1;
end;

function CompareValue(const A: Double; const B: Double; Epsilon: Double = 0): TValueRelationship; overload;
begin
  if (abs(A - B) < Epsilon) then
    result := 0
  else if (A > B) then
    result := 1
  else
    result := -1;
end;

function CompareValue(const A: Single; const B: Single; Epsilon: Single = 0): TValueRelationship; overload;
begin
  if (abs(A - B) < Epsilon) then
    result := 0
  else if (A > B) then
    result := 1
  else
    result := -1;
end;

function CompareValue(const A: Integer; const B: Integer): TValueRelationship; overload;
begin
  if (A = B) then
    result := 0
  else if (A > B) then
    result := 1
  else
    result := -1;
end;

function CompareValue(const A: Int64; const B: Int64): TValueRelationship; overload;
begin
  if (A = B) then
    result := 0
  else if (A > B) then
    result := 1
  else
    result := -1;
end;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
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, 21: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
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 21:51
Das wird schwieriger zu beheben sein, da das Problem die 64-Bit-Dateigrößen-Tauglichkeit der TStream-Klasse und die damit hinzugekommenen Funktionen und von mir überschriebenen Funktkionen sind. Man könnte das höchstens so umbauen, dass noch die alten Funktionen verwendet werden.

Vielleicht ist ja Lazarus was für dich, das gibt es kostenlos und Andorra 2D sollte auch damit funktionieren - auch wenn es noch nicht ganz so komfortabel wie die Delphi-IDE ist.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

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

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 21:54
Naja, ich glaube ich hole mir lieber mal eine neue Version von Delphi. Die sind dann vielleicht auch mal 99%ig mit Vista/Win7 kompatibel.
Ab welcher Version ist Andorra denn 100%ig kompatibel?

Viele Grüße und danke für die Hilfe

Edit:
Ich hab ja noch nicht komplett aufgegeben. Also ich bin jetzt so weit, dass ich die SetSize wieder auf alte Maßstäbe zurückgeschraubt habe.
Jetzt kommt der Compiler schon mal durch die AdBuffer.pas durch.
Ich hänge jetzt in der AdSimpleXML.
Die ganzen Fehler kann ich jetzt hier nicht posten, das sind zig Fehler.

Edit 2:
Noch eine Frage:
Ist Delphi 6 (immer noch) kostenlos? Ich hab ein bisschen gegooglt und in einem anderen Forum einen Key gefunden.
Doch ist die Verwendung legal? Ich mein Borland hatte Delphi 6 ja mal freigegeben, doch der Download ist weg.
Ich habe aber in einem weiteren Forum einen Link gefunden, wo einer mit Erlaubnis (angeblich) von Borland Delphi 6 auf seine HP geladen hat...

Geändert von Delphi-Narr (30. Dez 2010 um 22:56 Uhr) Grund: Zu geizig für neue Version :)
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Andorra 2D compilieren (Delphi 5)

  Alt 30. Dez 2010, 23:03
Lazarus läuft auch problemlos mit Windows Vista / 7, und besser als Delphi 5/6 ist es allemal.
(Die sind extrem veraltet, bei Lazarus hast du zumindest eine aktuelle Version.

Oder du suchst hier mal nach Bei Google suchenTurbo Delphi Explorer. Dazu ist es inzwischen nur schwierig, eine Lizenz zu kriegen.
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

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

AW: Andorra 2D compilieren (Delphi 5)

  Alt 31. Dez 2010, 11:10
Ich werd mir das mal angucken und ausprobieren.
Ist Delphi 6 jetzt noch kostenlos oder nicht
Naja, erstmal danke für die vielen Antworten!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 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