Looks like it may be something specific to your setup. In my tests I used Lazarus 1.5 as IDE and fpc 3.0.1 on Linux. Crosscompiled example ran on Win7 64 bit. So there are already differences with your environment. Noting your problems with compilation, you may want to consider using Lazarus IDE as well. You get a debugger too.

One other thing that comes to mind is to be mindful of calls like this

  agg^.rectangle(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);

If the default fill color is black, then the result will be a black window, albeit not unresponsive. Again, if your program hangs for some reason, a debugger may come in handy.

Stefan

On 06/13/2017 04:44 PM, James Richters wrote:
I've tested the example on 64 bit linux as a native application as well cross 
compiled for a x86_64 windows target. Worked fine in both Wine and on a Win64 
machine.

In my experience, the one dependency that AggPas has potential to fail may be 
related to the freetype library. If you plan to run your app on windows only, 
then you can turn freetype off and
AggPas will happily use windows font libraries. Search for the 
AGG2D_USE_FREETYPE define and comment it out.

I thought I would try to compile the example for x86_64, because I would 
eventually like to make my final program an x86_64 program.

When I compile it with the command:
fpc -Fu'J:\programming\fpc\3.0.2\units\$fpctarget\*' aggpas_ptcgraph_output.pas
it works fine.

When I try
fpc -Fu'J:\programming\fpc\3.0.2\units\$fpctarget\*' -Px86_64 
aggpas_ptcgraph_output.pas
it compiles fine with no errors, and it executes with no errors, however I do 
not get any output in either window at all, they are both just black, and 
unresponsive.

I've commented out the AGG2D_USE_FREETYPE for now, because I'm not sure if the 
freetype.dll I have will work on 64bit programs, and thought I would eliminate 
that as a possible issue.

I am using FPC v3.0.2 on a windows 10 x64 machine
I normally use the freepascal IDE to compile my programs, so I'm not too 
familiar with compiling from the command line.  I'm wondering if I am doing 
something wrong.

Also, is there some way to set a default for my units so I don't have to use 
Fu'J:\programming\fpc\3.0.2\units\$fpctarget\*' all the time?  If I don't use 
that, then it can't find any units, even though it's set in the directories 
with the IDE

I have some other sample programs that use ptcgraph (without AggPas) that do 
not have this issue, they compile as 64bit programs and run fine.  This seems 
to be something with using AggPas that appears to be causing the problem. I  
put in a writeln('test'); at the beginning of the program and it does do that, 
and I move ptcgraph.Rectangle(10,10,100,100); to before drawstuff(agg); I will 
get the rectangle on the graph screen.   So I thought I would try to narrow 
down what was happening by drawing different rectangles in the middle of the 
code like this:
  ptcgraph.Rectangle(30,30,200,200);
  agg^.clearAll(0, 0, 0);
  agg^.lineColor(0, 0, 0, 255);
  agg^.lineWidth(3);
  agg^.rectangle(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);
  ptcgraph.Rectangle(30,30,200,300);
  agg^.lineWidth(1);
  agg^.lineColor(0, 155, 0, 255);
  agg^.rectangle(10, 10, 50, 50);
  ptcgraph.Rectangle(30,30,300,300);

I get the first rectangle right away, the second rectangle after 6 seconds, and 
the third after 6 more seconds.
I tried commenting out everything else, but I still never get the image from 
putimage();

I'm very confused by this and don't have a clue what could be wrong.  If I take 
out the -Px86_64 in the compile command line, the program runs as expected.  
Since Stefan said he compiled 64bit versions of the example program and it 
worked, I wonder why I am having this issue.

James

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


--
_______________________________________________________
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to