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
Seite 1 von 2  1 2      
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.415 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
generic

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

AW: Graphics32 GR32 unter Delphi XE?

  Alt 6. Jan 2011, 12:31
Code:
Usage: patch [OPTION]... [ORIGFILE [PATCHFILE]]

Input options:

  -p NUM --strip=NUM Strip NUM leading components from file names.
  -F LINES --fuzz LINES Set the fuzz factor to LINES for inexact matching.
  -l --ignore-whitespace Ignore white space changes between patch and input.

  -c --context Interpret the patch as a context difference.
  -e --ed Interpret the patch as an ed script.
  -n --normal Interpret the patch as a normal difference.
  -u --unified Interpret the patch as a unified difference.

  -N --forward Ignore patches that appear to be reversed or already applied.
  -R --reverse Assume patches were created with old and new files swapped.

  -i PATCHFILE --input=PATCHFILE Read patch from PATCHFILE instead of stdin.

Output options:

  -o FILE --output=FILE Output patched files to FILE.
  -r FILE --reject-file=FILE Output rejects to FILE.

  -D NAME --ifdef=NAME Make merged if-then-else output using NAME.
  -E --remove-empty-files Remove output files that are empty after patching.

  -Z --set-utc Set times of patched files, assuming diff uses UTC (GMT).
  -T --set-time Likewise, assuming local time.

  --quoting-style=WORD  output file names using quoting style WORD.
    Valid WORDs are: literal, shell, shell-always, c, escape.
    Default is taken from QUOTING_STYLE env variable, or 'shell' if unset.

Backup and version control options:

  -b --backup Back up the original contents of each file.
  --backup-if-mismatch Back up if the patch does not match exactly.
  --no-backup-if-mismatch Back up mismatches only if otherwise requested.

  -V STYLE --version-control=STYLE Use STYLE version control.
        STYLE is either 'simple', 'numbered', or 'existing'.
  -B PREFIX --prefix=PREFIX Prepend PREFIX to backup file names.
  -Y PREFIX --basename-prefix=PREFIX Prepend PREFIX to backup file basenames.
  -z SUFFIX --suffix=SUFFIX Append SUFFIX to backup file names.

  -g NUM --get=NUM Get files from RCS etc. if positive; ask if negative.

Miscellaneous options:

  -t --batch Ask no questions; skip bad-Prereq patches; assume reversed.
  -f --force Like -t, but ignore bad-Prereq patches, and assume unreversed.
  -s --quiet --silent Work silently unless an error occurs.
  --verbose Output extra information about the work being done.
  --dry-run Do not actually change any files; just print what would happen.
  --posix Conform to the POSIX standard.

  -d DIR --directory=DIR Change the working directory to DIR first.
  --binary Read and write data in binary mode (no effect on this platform).

  -v --version Output version info.
  --help Output this help.

Report bugs to <bug-patch@gnu.org>.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
generic

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

AW: Graphics32 GR32 unter Delphi XE?

  Alt 6. Jan 2011, 12:38
Also du schneidest dir erst einmal die Diff Dateien aus dem Post oben zurecht.

Ein Patch-File beginnt *NACH* dem Teil:
Code:
================================================== =================
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
Also ab und inkl. der ---
Aus der letzten Zeile kannst du den Dateinamen entnehmen.
Beispiel hier GR32_Transforms.pas -> GR32_Transforms.pas.diff

Also beginnt der Inhalt von GR32_Transforms.pas.diff mit
Code:
--- 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;
[...]

Du muss im Verzeichnis der originalen GR32_Transforms.pas (Version 1.1.1.2) stehen.
Nun in der Shell einfach folgendes Aufrufen:
Code:
patch GR32_Transforms.pas GR32_Transforms.pas.diff
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#10

Mal wieder Graphics32 GR32 unter Delphi XE...

  Alt 18. Mär 2011, 12:51
Hallo,

nachdem ich hier alles durchgearbeitet habe und nachwievor versuche, Graphics32 unter Delphi XE zum Laufen zu bringen, stellt sich mir folgende Frage:

Wenn ich die letzten Sourcen aus der Delphi-Versionskontrolle öffne und alles von
https://graphics32.svn.sourceforge.n...2/trunk/Source herunterlade,
wieso muss ich dann immer noch einzelne Dateien patchen, um alles unter Delphi XE kompilieren zu können?

Schließlich beinhaltet der Download auch die Packages für Delphi XE (GR32_DSGN_RSXE1) und hier scheint trotz dem Patchen nicht alles zu laufen.

Kann mal jemand, der Graphics32 unter Delphi XP im Einsatz hat, das Graphics32-Verzeichnis hier hochladen? Das wäre wirklich mal 'ne Hilfe.

Danke und Gruß
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:52 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