Author |
Topic  |
|
w2m
   
USA
1990 Posts |
Posted - Apr 05 2012 : 07:51:01
|
Apprehend has been in development since 1986. Various releases of the component from Delphi 5 to Delphi 2010 have been released. The most current version 6.0 was written with Delphi 2010, but it is known to install successfully in Delphi XE2.
Apprehend works with ImageEN and TImage or other components that display bitmaps.
What's New Version 6.0 - April 4, 2012 • Added public var CaptureCount • Added procedure ResetCaptureCount • Added function CaptureSmallIcon method (16x16) • Added function CaptureLargeIcon method (48x48) • Added keyboard control for precise selection positioning to CaptureSmallIcon (16x16), CaptureIcon (32x32), CaptureLargeIcon(48x48), and CaptureSpecificSizeSelection methods • Added event OnAfterCaptureEvent • Added event OnBeforeCaptureEvent • Removed event OnCaptureEventRemoved - Move any code in the "Old" OnCaptureEvent to the OnAfterCaptureEvent • Added Simple Demo • Added PageControlTImage Demo • Added ImageENImageList Demo • Improved TImage Demo • Small Bug Fixes • Updated demos
Demos for ImageEN: • ImageENImageList (VCL Interface with TImageENView and TIEImageList) • RibbonImageENView (Multipage TImageENView on TPageControl with VCL TRibbon interface);
Demos are included in the zip file. Apprehend 6 is available here: http://www.frontiernet.net/~w2m/index.html
William Miller |
|
mhieta
 
Finland
78 Posts |
Posted - Apr 06 2012 : 04:46:23
|
Hi William,
Thank you for great component.
Trying to update from previous version to this 6.0 version. I'm using Delphi 2007. I'm getting multiple errors and those are pointing to frmPosition.SetParentComponent ( CaptureObjectForm ); If I comment those lines out it will compile and install ok. But its not registering any design time component.
- Marko |
 |
|
w2m
   
USA
1990 Posts |
Posted - Apr 06 2012 : 05:39:41
|
Sorry for your troubles. Unfortunately I do not have D2007 installed so I can not check to see what the problem is. Maybe some other end users can spot the problem and suggest a work-around. Version 6 was compiled with Delphi 2010.
I just checked the source. // make D7 compatable - unfortunately SetParentComponent is protected in D7 frmPosition.SetParentComponent ( CaptureObjectForm );
As a work-around replace SetParentComponent with frmPosition.Parent := xxform
//frmPosition.SetParentComponent ( CaptureObjectForm ); frmPosition.Parent := CaptureObjectForm; <= change appropriately where ever it ocurs... about 5-6 places.
Let me know if this works.
William Miller |
 |
|
mhieta
 
Finland
78 Posts |
Posted - Apr 06 2012 : 07:16:53
|
Hi,
Yes, now it compiles ok. But its not installing design time component.
- Marko |
 |
|
w2m
   
USA
1990 Posts |
Posted - Apr 06 2012 : 07:33:02
|
After you compiled did you install the component? Apprehend does not have designtime features because it is a non-visual component. After you install you should only see the component itself on the form but other than properties showing up in the Object inspector there is nothing else to see visually.
Also did you set the path to the source files in the IDE? After you install the simple demo will not compile or run?
William Miller |
 |
|
mhieta
 
Finland
78 Posts |
Posted - Apr 06 2012 : 07:54:29
|
Hi,
After installing component I don't see component in the Tool Palette.
But I can use it like this way: procedure TForm1.Button1Click(Sender: TObject); var MyBitmap: TBitmap; ASGScreenCapture1:TASGScreenCapture; begin ASGScreenCapture1:=TASGScreenCapture.Create(Self); MyBitmap := ASGScreenCapture1.CaptureActiveWindow; try MyBitmap.PixelFormat := pf24bit; ImageEnView1.Assign ( MyBitmap ); finally MyBitmap.Free; end; end;
Those demos are not working, cause TASGScreenCapture is not found.
Also I have Delphi 2010. After installing component there I can see & I can drop ASGScreenCapture component in to form.
- Marko |
 |
|
w2m
   
USA
1990 Posts |
Posted - Apr 06 2012 : 08:52:22
|
Does the package appear in the ide Components-packages list? If it appears is it checked?
Other than that I can not see how it should not be installed.
You do not have to set the pixel format any more... Apprehend does it for you now:
MyBitmap.PixelFormat := pf24bit; // <= not necessary any more ImageEnView1.Assign ( MyBitmap );
William Miller |
 |
|
mhieta
 
Finland
78 Posts |
Posted - Apr 06 2012 : 09:06:53
|
Hi,
Yes its appearing in component packages list and its checked.

- Marko |
 |
|
w2m
   
USA
1990 Posts |
Posted - Apr 06 2012 : 09:36:35
|
Sorry, at this point without Delphi 2007 installed I can not debug this and do not have any ideas what the problem may be.... Well at least it works in Delphi 2010... Do you like it?
William Miller |
 |
|
mhieta
 
Finland
78 Posts |
Posted - Apr 06 2012 : 10:32:56
|
Hi,
Yes it works okay. Thank you for your support. :)
- Marko |
 |
|
w2m
   
USA
1990 Posts |
Posted - Apr 20 2012 : 05:30:31
|
I found the reason why Apprehend did not register in Delphi 7 (component missing in ToolPalette).
1. Open AsgCapture.pas 2. Goto line 281 and change procedure register to procedure Register 3. Goto line 2936 and change procedure register to procedure Register 4. Compile the component 5. Install the component. 6. Add the path to the source files to the ide's path.
William Miller |
 |
|
mhieta
 
Finland
78 Posts |
Posted - Apr 20 2012 : 09:51:01
|
Hi,
Yes. Now component registers ok. Thank you.
- Marko |
 |
|
Roland Kossow
Germany
7 Posts |
Posted - May 07 2025 : 06:57:38
|
Hi guys, if anybody should have any issue with Aprehend ( TASGScreenCapture ) in 64bit applications, those can easily be fixed.
You need to modify in the unit CaptureTheRect the LineDDA calls. They use LongInt and it should be NativeInt.
LineDDA ( X1, Y1, X2, Y1, @MovingDots, NativeInt ( Canvas ) ); LineDDA ( X2, Y1, X2, Y2, @MovingDots, NativeInt ( Canvas ) ); LineDDA ( X2, Y2, X1, Y2, @MovingDots, NativeInt ( Canvas ) ); LineDDA ( X1, Y2, X1, Y1, @MovingDots, NativeInt ( Canvas ) );
Then it is also working on 64bit. |
 |
|
xequte
    
38977 Posts |
|
|
Topic  |
|