Jump to content
GreatDayDan

Graphics32

Recommended Posts

Years ago, I faced the same frustrating struggle as you are: how to use GR32 with new releases of Delphi.  

Good news for you: I use GR32 in modern releases of Delphi daily!

I use a small piece of GR32 (TImage32 to display an image that can pan and zoom) in Tokyo daily.

However, from the file dates, it looks like the version I use, it looks I downloaded from github quite some time ago, back in 2012.  

If that works for you, download this zipped source (.pas files) version that I just uploaded to Google Drive: https://drive.google.com/open?id=1c7TWJ4H910a4m5cCqjmw-tqhNmrbQ4vR.   

I recall there was some code that wasn't compiling that I commented out a few years ago. So, you may want to do a diff on this code vs what's current (sic) for GR32.

The version I linked to above is right from my development machine ready for compiling and installing into Delphi Tokyo.  As I recall, there may be some warnings during compilation about deprecated syntax.  I ignore them.

For future Delphi releases the instructions in the read me file in the zip file show how to change a single constant in the .inc file.  It may be possible that you could make similar changes to the current github version, but I have no information on that.

The above is what I use.  It's been years (and several versions of Delphi) since I looked at this code other than to change the constant and install it into the IDE.  Since this snapshot of GR32 is quite old, it may contain missing features or bugs that have been fixed in the current github version.  You may want to do a diff to the current github version and determine the differences...

I am providing this file to "pay it forward" and "pay it backward."  However, since I think I paid a consultant for this solution, and it's so many year ago, I'm completely ignorant about what (if anything) was done to make the above work. So, I am unable to answer further questions about installing or using GR32 because, basically I'm just a "script kiddie" with this.

If you or anyone else uses this file, it would be nice for you to post a response to this thread so others know of your success.

PS I suggest you investigate migrating to a supported product like ImageEn,  parts of which I now also use and am very happy with.

Good luck!

Tom
 

Edited by Tom F

Share this post


Link to post
20 minutes ago, Tom F said:

Years ago, I faced the same frustrating struggle as you are: how to use GR32 with new releases of Delphi.  

Good news for you: I use GR32 in modern releases of Delphi daily!

I use a small piece of GR32 (TImage32 to display an image that can pan and zoom) in Tokyo daily.

However, from the file dates, it looks like the version I use, it looks I downloaded from github quite some time ago, back in 2012.  

If that works for you, download this zipped source (.pas files) version that I just uploaded to Google Drive: https://drive.google.com/open?id=1c7TWJ4H910a4m5cCqjmw-tqhNmrbQ4vR.   

I recall there was some code that wasn't compiling that I commented out a few years ago. So, you may want to do a diff on this code vs what's current (sic) for GR32.

The version I linked to above is right from my development machine ready for compiling and installing into Delphi Tokyo.  As I recall, there may be some warnings during compilation about deprecated syntax.  I ignore them.

For future Delphi releases the instructions in the read me file in the zip file show how to change a single constant in the .inc file.  It may be possible that you could make similar changes to the current github version, but I have no information on that.

The above is what I use.  It's been years (and several versions of Delphi) since I looked at this code other than to change the constant and install it into the IDE.  Since this snapshot of GR32 is quite old, it may contain missing features or bugs that have been fixed in the current github version.  You may want to do a diff to the current github version and determine the differences...

I am providing this file to "pay it forward" and "pay it backward."  However, since I think I paid a consultant for this solution, and it's so many year ago, I'm completely ignorant about what (if anything) was done to make the above work. So, I am unable to answer further questions about installing or using GR32 because, basically I'm just a "script kiddie" with this.

If you or anyone else uses this file, it would be nice for you to post a response to this thread so others know of your success.

PS I suggest you investigate migrating to a supported product like ImageEn,  parts of which I now also use and am very happy with.

Good luck!

Tom
 

 

This doesn't make a lot of sense to me.  Why would anyone want to use some random files whose history we have no knowledge of, when we can simply checkout the source from the repo and use it directly.

Share this post


Link to post
Quote

Why would anyone want to use some random files whose history we have no knowledge of, when we can simply checkout the source from the repo and use it directly.

 

 

That's a good question, David. 

If the code in the repo compiles without modification, then I absolutely agree with you: the OP should use it.  I was under the impression that the OP had a problem with it.

I fully understand that what I suggested is not the ideal path.

Many of us are not nearly as capable as you.  I am one of those people.  When I was in the OP's shoes six years ago, I was unable to find a way on my own to compile GR32 in a new Delphi release. 

I was unable to find support for GR32 anywhere.  I was stuck, stopped dead in the water. It felt like GR32 was a dying, unsupported project back then, but perhaps my perception was inaccurate and more the result of my ignorance on how to find help and on my technical inability to understand and revise the open source code.

I hired someone to solve this problem for me.   I have successfully used that solution ever since.  Yes, the code I shared is old.  However, perhaps it will provide a starting point for the OP if he or she needs something ASAP.

Regarding the code I posted: as you know, sometimes the only solution is to start with something that works, even if it is old. And then, if it works, migrate it forward as necessary.  Perhaps you and others, including the OP would be better served by downloading the code from github and trying to get it to work. I failed at that when I tried.  Yes, I'm less capable than you and many others and probably shouldn't have been using GR32 at all if that usage requires skills I don't have.

 I included what I felt were sufficient caveats and warnings in my posting, but I appreciate your alerting the user that using older, unknown code may not make a lot of sense and poses a risk.
 

Edited by Tom F

Share this post


Link to post

I have checked my Source, it is from Sourceforge http://svn.code.sf.net/p/graphics32/code/trunk

I have done 2 Steps to compile it for Tokio

1. Copy of package Dir XE8 do Tokio

2. in the GR32_Compiler.inc added:

{$IFDEF VER320}
  {$DEFINE COMPILERXE8}
  {$IFNDEF BCB}
    {$DEFINE DELPHIXE8}
  {$ELSE}
    {$DEFINE BCBXE8}
  {$ENDIF}
{$ENDIF}

Compile the two Packages GR32_Rxxxx and GR32_Dxxxx 

Done

  • Like 1

Share this post


Link to post

I just downloaded the library from GitHub: https://github.com/graphics32/graphics32.

They added some fixes and changes compared to the official version on SourceForge.

On Delphi 10.2.3 everything was compiled without errors (Win32):

  • ...\Source\Packages\XE8\GR32.groupproj  -- Build all, install GR32_D package.
  • Add ...\Source to your library path (Tools | Options | Environment options | Delphi options | Library | Platform 32-bit Windows | Library path.
  • ...\Examples\Examples.groupproj  - Build all.

There was the unit FastMM4 in one of the examples - just delete it from the uses clause.

Edited by Kryvich

Share this post


Link to post
1 hour ago, Fritzew said:

I have checked my Source, it is from Sourceforge http://svn.code.sf.net/p/graphics32/code/trunk

I have done 2 Steps to compile it for Tokio

1. Copy of package Dir XE8 do Tokio

2. in the GR32_Compiler.inc added:


{$IFDEF VER320}
  {$DEFINE COMPILERXE8}
  {$IFNDEF BCB}
    {$DEFINE DELPHIXE8}
  {$ELSE}
    {$DEFINE BCBXE8}
  {$ENDIF}
{$ENDIF}

Compile the two Packages GR32_Rxxxx and GR32_Dxxxx 

Done

Why wouldn't you get the latest source from the repo? 

Share this post


Link to post

I have checked out the code from GitHub, cloned the XE8 folder to XE10 and added the compiler code.

The  GR32_R.dpk compiles.

The GR32_D.dpk errors with "required package GR32_R not found."


requires
  designide,
  vcl,
  rtl,
  GR32_R;

 

I have included the new XE10 folder in the path.

 

What am I missing?

Share this post


Link to post

@GreatDayDan XE8 packages work great for XE8 and higher, including 10.2.3. You do not need to copy something, or make changes to the library code.

Share this post


Link to post
2 hours ago, GreatDayDan said:

I have checked out the code from GitHub, cloned the XE8 folder to XE10 and added the compiler code.

The  GR32_R.dpk compiles.

The GR32_D.dpk errors with "required package GR32_R not found."


requires
  designide,
  vcl,
  rtl,
  GR32_R;

 

I have included the new XE10 folder in the path.

 

What am I missing?

What is XE10? 

Share this post


Link to post
15 hours ago, David Heffernan said:

Why wouldn't you get the latest source from the repo? 

Good Question, i have not seen any changes there. To be honest I was not aware of the GitHub fork. For my needs there was all there in sourceforge

Share this post


Link to post

The simple fix: add the Source folder to the compiler path. That is what I missed.

 

Thanks for all the help. 

Share this post


Link to post
3 hours ago, Fritzew said:

Good Question, i have not seen any changes there. To be honest I was not aware of the GitHub fork. For my needs there was all there in sourceforge

GitHub is not a fork. That is the master repo. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×