AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Graphics32 GR32 unter Delphi XE?
Thema durchsuchen
Ansicht
Themen-Optionen

Graphics32 GR32 unter Delphi XE?

Ein Thema von OrtmannMedia · begonnen am 4. Dez 2010 · letzter Beitrag vom 8. Jun 2011
Antwort Antwort
OrtmannMedia
(Gast)

n/a Beiträge
 
#1

Graphics32 GR32 unter Delphi XE?

  Alt 4. Dez 2010, 21:20
Hallo,
habe die Graphics32 (GR32) Lib bisher unter Delphi 2010 im Einsatz.
Version 1.9.

Jetzt habe ich auf Delphi XE upgedatet.
Soweit ich sehe tut sich bei http://www.graphics32.org wieder nichts.

Leider lässt sich die GR32_RS2010 usw. package unter XE nicht compilieren.

Habe jetzt in der GR32.inc
das hier gefunden:



{$IFDEF VER210}
{$DEFINE INLININGSUPPORTED}
{$DEFINE COMPILER2010}
{$DEFINE COMPILER2009}
{$DEFINE COMPILER2007}
{$DEFINE COMPILER2006}
{$DEFINE COMPILER2005}
{$DEFINE COMPILER7}
{$DEFINE COMPILER6}
{$IFNDEF BCB}
{$DEFINE DELPHI2010}
{$ELSE}
{$DEFINE BCB7}
{$ENDIF}
{$ENDIF}


habe das kopiert und in das geändert:



{$IFDEF VER220}
{$DEFINE INLININGSUPPORTED}
{$DEFINE COMPILER2010}
{$DEFINE COMPILER2009}
{$DEFINE COMPILER2007}
{$DEFINE COMPILER2006}
{$DEFINE COMPILER2005}
{$DEFINE COMPILER7}
{$DEFINE COMPILER6}
{$IFNDEF BCB}
{$DEFINE DELPHI2010}
{$ELSE}
{$DEFINE BCB7}
{$ENDIF}
{$ENDIF}


Die Fehler haben sich von sehr viel auf 22 reduziert. Typische Fehlermeldung jetzt:

[DCC Fehler] GR32_Transforms.pas(1032): E2251 Doppeldeutiger überladener Aufruf von 'Hypot'
Math.pas(1473): Verwandte Methode: function Hypot(const Single; const Single): Single;
GR32_Math.pas(312): Verwandte Methode: function Hypot(const Single; const Single): Single;

-->

procedure TTwirlTransformation.ReverseTransformFloat(DstX, DstY: TFloat;
out SrcX, SrcY: TFloat);
var
xf, yf, r, t: Single;
begin
xf := DstX - Frx;
yf := DstY - Fry;

--> r := Hypot(xf, yf);
t := ArcTan2(yf, xf) + r * FTwirl;
SinCos(t, yf, xf);

SrcX := Frx + r * xf;
SrcY := Fry + r * yf;
end;



Kann mir Jemand einen Tipp geben wie ich weiterkommen könnte?

Herzliche Grüße,
Jürgen aus München
  Mit Zitat antworten Zitat
OrtmannMedia
(Gast)

n/a Beiträge
 
#2

AW: Graphics32 GR32 unter Delphi XE?

  Alt 4. Dez 2010, 21:48
Habs rausgefunden.
Das sind die notwendigen Änderungen an drei Dateien,
ausgehend von Version 1.9 für Delphi 2010 (graphics32-1-9-0-r1336),
um GR32_RS2010.dpk und GR32_DSGN_RS2010.dpk unter Delphi XE compilieren
und natürlich installieren zu können:

Index: GR32.inc
================================================== =================
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32.inc,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32.inc
--- GR32.inc 1 Dec 2010 11:28:57 -0000 1.1.1.2
+++ GR32.inc 1 Dec 2010 13:39:14 -0000
@@ -32,7 +32,24 @@
*
* ***** END LICENSE BLOCK ***** *)

- {$IFDEF VER210}
+ {$IFDEF VER220}
+ {$DEFINE INLININGSUPPORTED}
+ {$DEFINE COMPILER2011}
+ {$DEFINE COMPILER2010}
+ {$DEFINE COMPILER2009}
+ {$DEFINE COMPILER2007}
+ {$DEFINE COMPILER2006}
+ {$DEFINE COMPILER2005}
+ {$DEFINE COMPILER7}
+ {$DEFINE COMPILER6}
+ {$IFNDEF BCB}
+ {$DEFINE DELPHI2010}
+ {$ELSE}
+ {$DEFINE BCB7}
+ {$ENDIF}
+{$ENDIF}
+
+{$IFDEF VER210}
{$DEFINE INLININGSUPPORTED}
{$DEFINE COMPILER2010}
{$DEFINE COMPILER2009}
Index: GR32_Polygons.pas
================================================== =================
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32_Polygons.pas,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32_Polygons.pas
--- GR32_Polygons.pas 1 Dec 2010 11:29:07 -0000 1.1.1.2
+++ GR32_Polygons.pas 1 Dec 2010 22:26:02 -0000
@@ -1662,7 +1662,7 @@
procedure TPolygon32.BuildNormals;
var
I, J, Count, NextI: Integer;
- dx, dy, f: Single;
+ dx, dy, f: TFloat;
begin
if Length(Normals) <> 0 then Exit;
SetLength(FNormals, Length(Points));
@@ -1694,7 +1694,7 @@
end;
if (dx <> 0) or (dy <> 0) then
begin
- f := 1 / Hypot(dx, dy);
+ f := 1 / GR32_Math.Hypot(dx, dy);
dx := dx * f;
dy := dy * f;
end;
Index: GR32_Transforms.pas
================================================== =================
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32_Transforms.pas,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32_Transforms.pas
--- GR32_Transforms.pas 1 Dec 2010 11:29:10 -0000 1.1.1.2
+++ GR32_Transforms.pas 1 Dec 2010 22:19:28 -0000
@@ -1024,14 +1024,14 @@
procedure TTwirlTransformation.ReverseTransformFloat(DstX, DstY: TFloat;
out SrcX, SrcY: TFloat);
var
- xf, yf, r, t: Single;
+ xf, yf, r, t: TFloat;
begin
xf := DstX - Frx;
yf := DstY - Fry;

- r := Hypot(xf, yf);
+ r := GR32_Math.Hypot(xf, yf);
t := ArcTan2(yf, xf) + r * FTwirl;
- SinCos(t, yf, xf);
+ GR32_Math.SinCos(t, yf, xf);

SrcX := Frx + r * xf;
SrcY := Fry + r * yf;
@@ -1061,10 +1061,10 @@
procedure TBloatTransformation.ReverseTransformFloat(DstX, DstY: TFloat;
out SrcX, SrcY: TFloat);
var
- SinY, CosY, SinX, CosX, t: Single;
+ SinY, CosY, SinX, CosX, t: TFloat;
begin
- SinCos(FPiH * DstY, SinY, CosY);
- SinCos(FPiW * DstX, SinX, CosX);
+ GR32_Math.SinCos(FPiH * DstY, SinY, CosY);
+ GR32_Math.SinCos(FPiW * DstX, SinX, CosX);
t := FBP * SinY * SinX;
SrcX := DstX + t * CosX;
SrcY := DstY + t * CosY;
@@ -1111,7 +1111,7 @@
begin
Yry := (DstY - Fry) * sy;
Xrx := (DstX - Frx) * sx;
- d := Hypot(Xrx, Yry);
+ d := GR32_Math.Hypot(Xrx, Yry);
if (d < FMinR) and (d > 0) then
begin
d := ArcSin(d * Fsr) * Faw / d;
@@ -1168,7 +1168,7 @@
begin
Theta := (SrcX - SrcRect.Left) * Rt2 + Phase;
R := (SrcY - SrcRect.Bottom) * Rr;
- SinCos(Theta, S, C);
+ GR32_Math.SinCos(Theta, S, C);

DstX := Dx * R * C + Cx;
DstY := Dy * R * S + Cy;
@@ -1188,7 +1188,7 @@
if Theta < 0 then Theta := Theta + PI2;

SrcX := SrcRect.Left + Theta * Rt;
- SrcY := SrcRect.Bottom - Hypot(Dcx, Dcy) * Sy;
+ SrcY := SrcRect.Bottom - GR32_Math.Hypot(Dcx, Dcy) * Sy;
end;
  Mit Zitat antworten Zitat
USchuster

Registriert seit: 12. Sep 2010
Ort: L.E.
120 Beiträge
 
Delphi XE3 Professional
 
#3

AW: Graphics32 GR32 unter Delphi XE?

  Alt 4. Dez 2010, 21:58
Die aktuelle SVN Version von Graphics32 zu verwenden wäre die Alternative gewesen.

- Datei | Aus der Versionskontrolle öffnen...
- als URL folgendes eingeben
Code:
https://graphics32.svn.sourceforge.net/svnroot/graphics32/trunk/Source
- Zielverzeichnis eintragen/auswählen
- OK
  Mit Zitat antworten Zitat
termodox

Registriert seit: 4. Feb 2008
8 Beiträge
 
#4

AW: Graphics32 GR32 unter Delphi XE?

  Alt 28. Dez 2010, 10:22
Habs rausgefunden.
Das sind die notwendigen Änderungen an drei Dateien,
ausgehend von Version 1.9 für Delphi 2010 (graphics32-1-9-0-r1336),
um GR32_RS2010.dpk und GR32_DSGN_RS2010.dpk unter Delphi XE compilieren
und natürlich installieren zu können:

Index: GR32.inc
================================================== =================
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32.inc,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32.inc
--- GR32.inc 1 Dec 2010 11:28:57 -0000 1.1.1.2
+++ GR32.inc 1 Dec 2010 13:39:14 -0000
@@ -32,7 +32,24 @@
*
* ***** END LICENSE BLOCK ***** *)

- {$IFDEF VER210}
+ {$IFDEF VER220}
+ {$DEFINE INLININGSUPPORTED}
+ {$DEFINE COMPILER2011}
+ {$DEFINE COMPILER2010}
+ {$DEFINE COMPILER2009}
+ {$DEFINE COMPILER2007}
+ {$DEFINE COMPILER2006}
+ {$DEFINE COMPILER2005}
+ {$DEFINE COMPILER7}
+ {$DEFINE COMPILER6}
+ {$IFNDEF BCB}
+ {$DEFINE DELPHI2010}
+ {$ELSE}
+ {$DEFINE BCB7}
+ {$ENDIF}
+{$ENDIF}
+
+{$IFDEF VER210}
{$DEFINE INLININGSUPPORTED}
{$DEFINE COMPILER2010}
{$DEFINE COMPILER2009}
Index: GR32_Polygons.pas
================================================== =================
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32_Polygons.pas,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32_Polygons.pas
--- GR32_Polygons.pas 1 Dec 2010 11:29:07 -0000 1.1.1.2
+++ GR32_Polygons.pas 1 Dec 2010 22:26:02 -0000
@@ -1662,7 +1662,7 @@
procedure TPolygon32.BuildNormals;
var
I, J, Count, NextI: Integer;
- dx, dy, f: Single;
+ dx, dy, f: TFloat;
begin
if Length(Normals) <> 0 then Exit;
SetLength(FNormals, Length(Points));
@@ -1694,7 +1694,7 @@
end;
if (dx <> 0) or (dy <> 0) then
begin
- f := 1 / Hypot(dx, dy);
+ f := 1 / GR32_Math.Hypot(dx, dy);
dx := dx * f;
dy := dy * f;
end;
Index: GR32_Transforms.pas
================================================== =================
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32_Transforms.pas,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32_Transforms.pas
--- GR32_Transforms.pas 1 Dec 2010 11:29:10 -0000 1.1.1.2
+++ GR32_Transforms.pas 1 Dec 2010 22:19:28 -0000
@@ -1024,14 +1024,14 @@
procedure TTwirlTransformation.ReverseTransformFloat(DstX, DstY: TFloat;
out SrcX, SrcY: TFloat);
var
- xf, yf, r, t: Single;
+ xf, yf, r, t: TFloat;
begin
xf := DstX - Frx;
yf := DstY - Fry;

- r := Hypot(xf, yf);
+ r := GR32_Math.Hypot(xf, yf);
t := ArcTan2(yf, xf) + r * FTwirl;
- SinCos(t, yf, xf);
+ GR32_Math.SinCos(t, yf, xf);

SrcX := Frx + r * xf;
SrcY := Fry + r * yf;
@@ -1061,10 +1061,10 @@
procedure TBloatTransformation.ReverseTransformFloat(DstX, DstY: TFloat;
out SrcX, SrcY: TFloat);
var
- SinY, CosY, SinX, CosX, t: Single;
+ SinY, CosY, SinX, CosX, t: TFloat;
begin
- SinCos(FPiH * DstY, SinY, CosY);
- SinCos(FPiW * DstX, SinX, CosX);
+ GR32_Math.SinCos(FPiH * DstY, SinY, CosY);
+ GR32_Math.SinCos(FPiW * DstX, SinX, CosX);
t := FBP * SinY * SinX;
SrcX := DstX + t * CosX;
SrcY := DstY + t * CosY;
@@ -1111,7 +1111,7 @@
begin
Yry := (DstY - Fry) * sy;
Xrx := (DstX - Frx) * sx;
- d := Hypot(Xrx, Yry);
+ d := GR32_Math.Hypot(Xrx, Yry);
if (d < FMinR) and (d > 0) then
begin
d := ArcSin(d * Fsr) * Faw / d;
@@ -1168,7 +1168,7 @@
begin
Theta := (SrcX - SrcRect.Left) * Rt2 + Phase;
R := (SrcY - SrcRect.Bottom) * Rr;
- SinCos(Theta, S, C);
+ GR32_Math.SinCos(Theta, S, C);

DstX := Dx * R * C + Cx;
DstY := Dy * R * S + Cy;
@@ -1188,7 +1188,7 @@
if Theta < 0 then Theta := Theta + PI2;

SrcX := SrcRect.Left + Theta * Rt;
- SrcY := SrcRect.Bottom - Hypot(Dcx, Dcy) * Sy;
+ SrcY := SrcRect.Bottom - GR32_Math.Hypot(Dcx, Dcy) * Sy;
end;
Mein Gott, was soll man da ändern? Ich verstehe nichts =/
was ist das "@@ -1188,7 +1188,7 @@"??
Muss ich das
RCS file: /usr/cvsroot/medicalobjects/components/graphics32/GR32_Transforms.pas,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 GR32_Transforms.pas
--- GR32_Transforms.pas 1 Dec 2010 11:29:10 -0000 1.1.1.2
+++ GR32_Transforms.pas 1 Dec 2010 22:19:28 -0000
auch reinkopieren..mensch
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

AW: Graphics32 GR32 unter Delphi XE?

  Alt 28. Dez 2010, 12:18
Gleicher Thread hier.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Graphics32 GR32 unter Delphi XE?

  Alt 28. Dez 2010, 12:48
Mein Gott, was soll man da ändern? Ich verstehe nichts =/
was ist das "@@ -1188,7 +1188,7 @@"??
Du Nix, du nutzt die Patch.exe - die kann mit dem Diff-Ausgaben was anfangen.

http://gnuwin32.sourceforge.net/packages/diffutils.htm
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
termodox

Registriert seit: 4. Feb 2008
8 Beiträge
 
#7

AW: Graphics32 GR32 unter Delphi XE?

  Alt 3. Jan 2011, 19:33
Wow, ok, ich hab es runtergeladen. was muss ich jetzt in Dos schreiben damit das Programm die Änderungen macht?

Muss ich eine text Datei erstellen mit dem Code hier?
DANKE! FROHES NEUES!
  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 20:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz