Discussions on GFL SDK, the graphic library for reading and writing graphic files
	Moderators:  helmut , xnview 
			
		
		
			
				
								madiazg 							 
									
		Posts:  82  		Joined:  Wed Jul 18, 2007 8:00 pm 		
		
																Location:  Tenerife - Islas Canarias 
							
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by madiazg   »  Sat Aug 27, 2011 9:39 pm 
			
			
			
			
			
			Hi,
I have problems with the function gflConvolve. In Delphi:
Code: Select all 
var
    Filtro : PGFL_Filter;
....
begin
....
  Filtro.Size := 3; //-> ERROR
...
end;
Error in the application when I define the width of the matrix.
What is the problem?
Regards...
Miguel Angel
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
								xnview 							 
						Author of XnView 			
		Posts:  46816  		Joined:  Mon Oct 13, 2003 7:31 am 		
		
																Location:  France 
																	
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by xnview   »  Mon Aug 29, 2011 8:43 am 
			
			
			
			
			
			What is the error?
			
			
									
						
							Pierre.
			
						 
		 
				
		
		 
	 
				
		
		
			
				
								madiazg 							 
									
		Posts:  82  		Joined:  Wed Jul 18, 2007 8:00 pm 		
		
																Location:  Tenerife - Islas Canarias 
							
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by madiazg   »  Wed Aug 31, 2011 8:33 pm 
			
			
			
			
			
			xnview wrote: What is the error?
The error occurs when running the application:
"
Access violation at address FEFCC481. Read of address FEFCC481 "
Miguel Angel
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
								xnview 							 
						Author of XnView 			
		Posts:  46816  		Joined:  Mon Oct 13, 2003 7:31 am 		
		
																Location:  France 
																	
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by xnview   »  Thu Sep 01, 2011 11:54 am 
			
			
			
			
			
			It's not TGFL_FILTER that you must use??
			
			
									
						
							Pierre.
			
						 
		 
				
		
		 
	 
				
		
		
			
				
								madiazg 							 
									
		Posts:  82  		Joined:  Wed Jul 18, 2007 8:00 pm 		
		
																Location:  Tenerife - Islas Canarias 
							
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by madiazg   »  Sat Sep 03, 2011 11:07 pm 
			
			
			
			
			
			xnview wrote: It's not TGFL_FILTER that you must use??
I'm sorry but i don't understand you
Miguel Angel
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
								xnview 							 
						Author of XnView 			
		Posts:  46816  		Joined:  Mon Oct 13, 2003 7:31 am 		
		
																Location:  France 
																	
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by xnview   »  Mon Sep 05, 2011 7:54 am 
			
			
			
			
			
			TGFL_FILTER is a pointer, no? Not the struct?
			
			
									
						
							Pierre.
			
						 
		 
				
		
		 
	 
				
		
		
			
				
								madiazg 							 
									
		Posts:  82  		Joined:  Wed Jul 18, 2007 8:00 pm 		
		
																Location:  Tenerife - Islas Canarias 
							
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by madiazg   »  Mon Sep 05, 2011 7:38 pm 
			
			
			
			
			
			xnview wrote: TGFL_FILTER is a pointer, no? Not the struct?
yes, PGFL_FILTER is a pointer to the structure TGFL_FILTER. In libgfl.pas:
Code: Select all 
PGFL_FILTER = ^TGFL_FILTER;
  TGFL_FILTER = record
    Size: GFL_INT16;
    Matrix: array[0..15, 0..7] of GFL_INT16;
    Divisor: GFL_INT16;
    Bias: GFL_INT16;
  end;
function gflConvolve(src: PGFL_BITMAP; dst: PPGFL_BITMAP;  var filter: PGFL_FILTER): GFL_ERROR; stdcall;
Regards...
Miguel Angel
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
								xnview 							 
						Author of XnView 			
		Posts:  46816  		Joined:  Mon Oct 13, 2003 7:31 am 		
		
																Location:  France 
																	
							
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by xnview   »  Tue Sep 06, 2011 8:04 am 
			
			
			
			
			
			Ok, but i don't understand why with 
 you have a crash...
 
			
			
									
						
							Pierre.
			
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								Mike 							 
									
		Posts:  3  		Joined:  Mon Dec 26, 2011 6:03 am 		
		
						
						
		 
		
						
					
													
							
						
									
						Post 
					 
								by Mike   »  Mon Dec 26, 2011 8:44 am 
			
			
			
			
			
			Hi, 
Filtro is pointer. It must be defined. I.e. must point to a chunk of memory where located structure GFL_FILTER. Please use getmem() or similar function. After that, it can be used in parts of your sample. Or use T GFL_FILTER