Welcome Guest! To enable all features, please Login or Register.

Notification

Icon
Error

Options
View
Last Go to last post Unread Go to first unread post
#1 Posted : Sunday, July 7, 2013 9:47:54 AM(UTC)
sprezzatura

Groups: Registered
Posts: 4


Can you confirm whether PNG files work (or not) on a 64-bit PC, using LeadTools ver. 12?

I am using the DLLs, C++ interface. My program is a 32-bit application. When I call  L_SaveFile(FILE_PNG) on a 64-bit system, the program crashes. The program works OK (is able to save PNGs) on a 32-bit system.

The program also crashes while saving GIFs on a 64-bit system.

It works OK with BMP and JPG (both 32- and 64-bit systems).

I would prefer not to upgrade if I can postpone it.

Leadtools 12




OSJPG
BMP
PNG
GIF
32-bit
OK
OK
OK
OK
64-bit
OK
OK
Crash
Crash

 

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

#2 Posted : Sunday, July 7, 2013 9:59:01 AM(UTC)
sprezzatura

Groups: Registered
Posts: 4


Note: I am including LFPNG12N.DLL and LTKRN12N.DLL (otherwise it would fail on 32-bit platforms).

Also, I don't want the 64-bit SDK, my app is 32-bit.
 
#3 Posted : Monday, July 8, 2013 2:34:09 AM(UTC)

mohamed  
mohamed

Groups: Registered, Tech Support
Posts: 179


I added the following code to a program that uses LEADTOOLS 12.1 headers, LIBs and DLLs and compiled it on a Windows 7 64-bit PC using Visual C++ 6:
+============================================+
BITMAPHANDLE Bitmap = {0};
L_CreateBitmap(&Bitmap, TYPE_CONV, 800, 600, 24, ORDER_BGR,
   NULL,     //LPRGBQUAD pPalette
   TOP_LEFT,
   NULL,     //L_UCHAR L_FAR*pData
   0);       //L_UINT32 dwSize
L_FillBitmap(&Bitmap, RGB(255, 130, 180));
L_SaveFile("e:\\Test\\out.png", &Bitmap, FILE_PNG, 24, 2,
   0,       //L_UINT uFlags
   NULL,    //FILESAVECALLBACK pfnCallback
   NULL,    //L_VOID L_FAR * pUserData
   NULL);   //pSAVEFILEOPTION pSaveOptions
L_UnlockSupport(L_SUPPORT_GIFLZW, "sg8Z2XkjL");
L_SaveFile("e:\\Test\\out.gif", &Bitmap, FILE_GIF, 8, 2,
   SAVEFILE_OPTIMIZEDPALETTE,
   NULL,    //FILESAVECALLBACK pfnCallback
   NULL,    //L_VOID L_FAR * pUserData
   NULL);   //pSAVEFILEOPTION pSaveOptions
L_FreeBitmap(&Bitmap);
+============================================+

The program worked and it saved 2 files, one GIF and one PNG. If the same code doesn't work in your project, please send your toolkit serial number to support@leadtools.com and ask for latest v12 setup and patches.
Important note:
Please do NOT post your serial number here.
Mohamed Abedallah
Developer Support Engineer
LEAD Technologies, Inc.

LEAD Logo
 
#4 Posted : Monday, July 8, 2013 6:10:49 AM(UTC)
sprezzatura

Groups: Registered
Posts: 4


Your example crashes at L_SaveFile(... FILE_PNG), with the error "Unhandled exception at 0x00000000 in cc.exe: 0xC0000005: Access violation reading location 0x00000000."

However, the program runs successfully on a 64-bit system without the Roboform software.

Here is the stack trace when it crashes:

00000000()
Lfpng12n.dll!009936dd()
[Frames below may be incorrect and/or missing, no symbols loaded for
uxtheme.dll!74886880()
uxtheme.dll!748869a7()
SftTabs_IX86_A_60.dll!0085fe99()
user32.dll!76448336()
user32.dll!764380a9()
user32.dll!764380bb()
user32.dll!764380bb()
ntdll.dll!77a5f8ca()
user32.dll!76438bd3()
ntdll.dll!77a5010a()
roboform.dll!703b7d96()
roboform.dll!703b7d9f()
user32.dll!764490b9()
roboform.dll!703b946c() <=== ??
Ltfil12n.dll!1ffcfcb8()
Ltfil12n.dll!1ffd03ee()
Ltfil12n.dll!1ffd0314()
cc.exe!testPNG()  Line 503
It appears that Ltfil12n is calling an entry point in roboform.dll. Roboform is a password-management software I use on my development system. Roboform.dll exports the following:
DllGetVersion
?RunAutoUpdate@@YAXXZ
?RunEditor@@YAXHPADW4RfObjectType@@@Z
?RunEditor@@YAXHPA_WW4RfObjectType@@@Z
?RunPassGen@@YAXHPAD@Z
?RunPassGen@@YAXHPA_W@Z
?RunShellWindowsWatcher@@YAXPAD@Z
?RunShellWindowsWatcher@@YAXPA_W@Z
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
Why is Ltfil12n calling roboform.dll? As I said, on a 64-bit system with no Roboform, it works. Also, it works fine on a 32-bit system with Roboform. Strange...
 
#5 Posted : Tuesday, July 9, 2013 2:06:00 AM(UTC)

mohamed  
mohamed

Groups: Registered, Tech Support
Posts: 179


Our DLLs do not specifically call this software. However, from the exported functions list, it appears to be a COM object of some sort, which means it gets registered on your system and is probably being accessed by some other process in the system through its COM interfaces.

I don't know for sure why this DLL is causing problems with our toolkit and since v12 is out of production, there is little we can do other than offering you the latest patches to try.

If a similar problem is active with the current version 18 of LEADTOOLS, we can ask our engineers to investigate it.
Mohamed Abedallah
Developer Support Engineer
LEAD Technologies, Inc.

LEAD Logo
 
#6 Posted : Tuesday, July 9, 2013 4:15:49 AM(UTC)
sprezzatura

Groups: Registered
Posts: 4


OK, thanks for the information. I'll try the latest version of LeadTools when I get a chance. There is a low probability that one of my customers will [1] have Roboform, and [2] attempt to save graphic as PNG.

Thanks for the feedback.

 
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2019, Yet Another Forum.NET
This page was generated in 0.254 seconds.