Error with KeePassSD in ipaq 2210

2009-10-19
2013-04-22
  • Hi,

    I installed version 0.1.4 on my ipaq 2210 and when I start the application I get an error "Can't find Entry Point SHGetUIMetrics in a PInvoke-DLL aygshell.dll". I have PPC2003 (4.20) with the .NET Framework installed.

    Can't someony help me with this?

    Regards,

    Frank Howell

     
  • Tobias
    Tobias
    2009-10-25

    Hi Frank!

    From the Visual Studio Help page:

    The SHGetUIMetrics function retrieves the system font size.
    Requirements
    Pocket PC: Windows Mobile 2003 Second Edition and later.
    Smartphone: Windows Mobile 2003 Second Edition and later.
    OS Versions: Windows CE .NET 4.2 and later.
    Header: Aygshell.h.
    Library: Aygshell.dll

    So does your PDA have PPC2003 Second Edition or not?
    Maybe i accidentely used a function which is not available on PPC2003. However due to PPC2003 generally not supporting 1bit Transparency with the .Net Compact Framework you wouldn't like the look of the program anyhow. Unless you love pink :-)))

    Bests,
    Tobias

     
  • Hi Tobias,

    My PDA doesn't have PPC2003 SE, but just PPC2003.
    And I love pink when I have to :-).
    Thnx for your reply!

    Regards,

    Frank

     
  • Klaus Strebel
    Klaus Strebel
    2009-11-04

    Hi Tobias,
    just a me too, i have a iPAQ H5450, giving the same message and it would not bother me if the GUI comes in pink ;-).
    The Settings->About->Version says its Version 4.2.1081 ( Build 13100 ) … no clue if that is "Second Edition" or not.
    Ciao
    Klaus

     
  • Tobias
    Tobias
    2010-01-06

    Hi there!

    Can somebody check if the file "aygshell.dll" exists at all on a PPC 2003 device? If it doesn't i might have a simple workaround. The DLL might be in the "windows" folder and is part of the ROM usually. Please check using for example "Total Commander CE" and untick "Hide files in ROM".

    Kind Regards,
    Tobias

     
  • Hi Tobias,
    on my device, there's a Windows\aygshell.dll size 128k, date 03.05.03 20:41, i guess that is a new function/symbol introduced in the 2003 SecondEdtion.

    Ciao
    Klaus

     
  • Tobias
    Tobias
    2010-01-07

    Hm great, it's never easy with Microsoft :-)

    I just found a nice article about a bug in windows mobile 2003, that GetProcAddress returns the base adress of the DLL instead null, so actively looking for the "non-existing" function doesn't work either.

    Guess i have to go with "GetVersionEx" and look for V4.20… Just have to find the right PINVOKE/Marshalling magic to get the information into C#.

    Thanks for checking Klaus.

    Tobias

     
  • Tobias
    Tobias
    2010-01-07

    Ok found it…

    Though shall use:
                if ((4 == Environment.OSVersion.Version.Major) && (20 == Environment.OSVersion.Version.Minor))

    Can you send me an e-mail so that i can get a testbinary to you Klaus?

    Tobias

     
  • Tobias
    Tobias
    2010-01-08

    FYI: E-Mail for testing PPC 2003 workaround sent to Klaus.

     
  • Hi Tobias,

    It's also on my ipaq 2210, only with a different date: 23-02-04 08:49.

    Regards,

    Frank

     
  • Hi Tobias,

    If I also could get the testbinary, I would be very happy!

    Regards,

    Frank

     
  • Tobias
    Tobias
    2010-02-03

    Hi there!

    Sorry my employer sent me on a business trip for a few days and i just came back.

    The feedback i got from Klaus was: The application does not throw an exception anymore, however it also does not show any dialogs at all, just an icon in the task manager equivalent. So there must be more undocumented differences beween PPC2003 and the other OS versions. Does not look very promising to get it running at all yet.

    Bests,
    Tobias

     
  • Ah, too bad :(.

    Regards,

    Frank