PPP Forum

Information and discussions about our products
Welcome to PPP Forum Sign in | Join | Help
in Search

Breaking changes: our new Navigation solution partner is Sygic

From TomTom to Sygic:
Over the years our former navigation provider reduced his SDK more and more to drive his own business solutions.
Finally a SDK is no longer available!
Looking for an alternative solution we found www.sygic.com/tomtom-sdk.
Why we recommend Sygic:
  • Good support at first hand
  • A modern Navigation Solution (with actual maps)
  • Native .NET support in the SDK (no need for third party solutions)
  • Many operating systems support including Linux and Android
  • A partner which is even able to adapt the Navigation solution to your needs.

What is with SwitchMap ? TT5 v5210

Last post 07-24-2006, 11:18 by ManniAT. 40 replies.
Page 2 of 3 (41 items)   < Previous 1 2 3 Next >
Sort Posts: Previous Next
  •  12-02-2005, 16:21 294 in reply to 276

    AW: Re: AW: Re: Latest Information

    Hi Howi,

    no I can't - because we did not try this - no need because of "TerminateWrapper" (see below).
    We also do not know the reason for the WM_GETTEXT
    ---ensure that the calling window is named like it stated Smile [:)]
    Strange - but it can be that (for any reason) TTN does not use FindWindow(...."TheNameGiven")
    instead they use EnumerateWindows and search for the text.

    Anyhow - we filter only for WM_COYPDATA with the 'ttRG' marker in it.

    We built in a new "TerminateWrapper" function.
    This is needed for the "KeepAlive" thread to shutdown.

    In this function we also check if RawGPS is openend - if so we DisableRawGPS.
    But for sure we know - DisableRawGPS can be called without any problems even if you did not EnableRawGPS.
    The only possible side effect would be that another app obtaining RawGPS will loose it (therefore we check).

    I think also the right way to terminate TTN would be to check for "turn of RawGPS publisher" - but this is not harmfull.
    On the other hand you could say - if you terminate your app - calling EnableRaw... YOU forgot to Disable it again.

    With the old (version 3) navigator the GPS Driver App (it was a little app) stayed open when you call StopApplication.
    Only the menu item "Exit" did terminate the GPS driver.
    You saw this since this driver placed an icon in the taskbar- you coul never stop such an orphan GPS driver.
    But - and that is the positive difference.TTN "reattached" to this running instance.

    So for know I think it is good to know that a call to DisableRawGPS is essential if you enabled it.
    And furtheron - a crash in an app which EnabledRawGPS - means a reset of the device.

    Did you try to call DisableRawGPS in such a situation?

    Thanks for the input

    Manfred

  •  12-02-2005, 17:10 296 in reply to 294

    Huh? [:^)] Re: AW: Re: AW: Re: Latest Information

    Hi Manni !

    I think the reason for the WM_GETTEXT (i have seen it in the M$ CE spy progi) is: TT look if the app with windowtitelname (you give it with the commandparameter)
    are running. When our App is endet, TT will get no window with this titel and then TT will also stop the WM_COPYDATA
    messages.

    I have try to send DisableRawGPS in this (Crash-) situation, but no response !
    There is no TT reattached !
    You MUST call DisableRawGPS BEFORE TT shut down !
    But we will you this realised, when you not know "the User push NOW the Exit button" .

    When the function IsAplicationRunnig will fail (on wm_timer ) it is too late !!!!!!!

    Must i write a hook app to get the WM_DESTROY for TT and hold it on to DisableRawGPS ?

    I feel me like a beta tester ...

    Greetings
    Howi

  •  12-02-2005, 18:10 297 in reply to 296

    Re: AW: Re: AW: Re: Latest Information

    Hi Manfred

    Thanks a lot for your help.

    I informed TT about the bug and hope for a fix as soon as possible.

    Nice weekend
    bbtom
  •  12-02-2005, 18:10 298 in reply to 296

    Re: AW: Re: AW: Re: Latest Information

    Hi all

    I am also developing applications for TomTom and found the SwitchMap-Bug - AND this nice forum with google.com. I will inform TomTom about this bug, too.

    I am not using your wrapper class because I am not developing .net applications at this time. But who knows what the future with windows mobile and visual studio .net 2005 are.

    But I hope I can discuss problems with TT-SDK in this forum because I don’t found any forums with/for TomTom developers. Do you know about such forums?

    And…last question:
    Is anybody there who knows first features about TomTom Navigator 6?

    Thank you in advance.
    Petra

  •  12-02-2005, 18:14 299 in reply to 296

    AW: Re: AW: Re: AW: Re: Latest Information

    Hi Howi,

    if WM_DESTROY is ever called Smile [:)]

    Let us say this in a few simple words:

    a.) TomTom is running your app quits - forget DisableRawGPS - YOUR FAULT
    b.) TomTom is running - your app crashes (maybe a bug in it) - reboot needed.
    c.) TomTom crashes - your app has to make a reboot - since the GPS orphan is there (still a crash)
    d.) TomTom is closed by the user - the same a c.) - and I know from my customers that they close TTN sometimes!!

    I think a to c is "sh*t happens" - but d is a bitter thing.

    I think we will rethink the use of RawGPS (yesterday we were almost sure to use it instead of GPS Driver) Sad [:(]

    A last positive thing - I just got a message from Christiaan:
    Hi Manfred,

    Koen is working on this. He will be in touch with you next week.

    Regards
    Christiaan

    That's why I count on him - he tries to do his best.
    Since he (and Koen) know about this thread they will also notice the RawGPS thing.

    Regards

    Manfred

  •  12-02-2005, 18:24 300 in reply to 298

    Welcome here...

    Hi Petra,

    first of all - welcome here!

    Whyle most forums here are for customers only this is intentionally open for the (registred) public
    I'll rename this forum to "TTN general" and related things related things - so you don't have to feel like a stranger Smile [:)]

    And sorry but no - I don't know a TTN developer forum.

    But why not use this. For me C# (or .NET in general) is the smarter way to develop such apps,
    but C++ is my next language - so this means also no problem.

    A lot of things here are not really "Wrapper related" - they are just TTN developement things.
    And what the things counting for you are also counting for cumstomers of the wrapper.

    Because it makes no difference if TTN crashes from C++ or from C# Smile [:)]

    So feel free to post here and share your experiences with us.

    Regards

    Manfred

     

  •  12-02-2005, 21:12 301 in reply to 299

    the next bug ..

    Hi Manni !

    When the user close TT:

    first -> WM_LBUTTONDOWN (your fingertip)
    then -> WM_PAINT (the button is pressed style)
    then -> WM_DESTROY
    then -> WM_NCACTIVATE
    then -> WM_ACTIVATE (with flag 0)

    ....

    to the end ...

    when you filter the WM_DESTROY, and  send it later (after DisableRaw...)  .

    EDITED by ManniAT -- let's first clear this points!


    Greetings
    Howi

  •  12-03-2005, 11:14 302 in reply to 301

    known-bug list

    Hi ho

    If I see how many posts in this thread are, I think that many more users using the SDK and the SwitchMap command or other commands than TT think.

    Is there a known-bug list available for the TT-SDK? I couldn’t found any information’s at the tomtom website.

    @Petra
    Sorry, I have no information’s about TT6.

    Regards
    bbtom
  •  12-03-2005, 11:21 303 in reply to 302

    Re: known-bug list

    Hi Manni,

    can you please send your last email to my again ?
    My spam filter has eat it...

    Greetings
    howi


  •  12-03-2005, 13:31 304 in reply to 301

    AW: the next bug ..

    Hi Howi,

    your "hooking idea" brings me to an idea.

    TTN sends some kind of commands to the "MunichWindow" - of course you can find this window (by class - or even name if it is always the same).

    So how about (I did not try it till now):

    if(IsApplicationRunning==false)   {
       if(IOpenedRawGPS)   {
          wndM=FindWindow(....MunichW.....);
          wndM.PostMessage(.....);   //whatever it needs
          wndM.PostMessage(WM_CLOSE);
          }
    }

    Such code could be placed at the end of your program - or if you have to restart TTN (because a user closed it) before restarting it.

    I'm pretty busy at the moment because of putting the new TTNCF in the webshops - but maybe Howi - or someone else can find a way to solve this. 
    While the "SwitchMapCrash" can't be solved by us - such a solution is possible (or we can proof it is not).

    Regards

    Manfred

  •  12-03-2005, 13:57 305 in reply to 302

    AW: known-bug list

    Hi bbtom,

    no, I don't know a bug report place.
    BUT: I opened a new forum here: http://forums.pp-p.com/forums/43/ShowForum.aspx

    A few simple rules:
    Post in a polite and clear form.
    It is a forum only for real bugs - not for suggestions or whises.
    --One thread per bug (not many bugs in one thread)
    --Only TomTom Navigator and SDK related bugs - no TTNCF things!!

    Provide as much information you can get:
    --Version of SDK / TTN
    --Results
    --Expected Results
    --Steps to reproduce

    As long as it works as expected I'll keep this forum open.
    If "bad posts" arrive - I'll change it to moderated.
    The idea is to have a place where we can collect bugs / Problems and find workarounds for it.

    I'll ask TomTom to take a look at this forum from time to time (or remind them if a new thing comes out).

    Regards

    Manfred

  •  12-03-2005, 19:38 307 in reply to 305

    Re: AW: known-bug list

    Hi Manni !

    Thanx for your email, we are on your site.
    I see TT as the best solution for pda navigating ...
    So let see to solve the problems ...

    Your hooking hint, will not work, because IsAplicationRunnig use
    FindWindow("ClassName",NULL) ...what else?
    So IsApplicationRunning will result always true when TT GPS will run in background, or not ?

    I will test your example ...

    Greetings
    howi


  •  12-03-2005, 20:03 308 in reply to 307

    AW: Re: AW: known-bug list

    Hi Howi,

    the idea of my "solution" is that if TTN is not running (User terminated etc.) and you had still EnableRawGPS than an orphan window is around.

    You found it and you wrote that a "MunichClassWin" runs in the backgoround.

    EDIT: if is ApplicationIsRunnig even if only the "orphan" is in the backgoround - but this does not react to DisableRawGPS -
    than (maybe) a more "rough" trick could help.
    Yust call any AsyncFunction (like GetApplicationVersion) and after a short wait - check for IsReturnAvailable.
    If TTN is not repsonding in this situation it should not give a result.....

    But the bad thing - you can never know that something is wrong since you think TTN runs - IsApplicationRunning returns true.
    On the other hand - we always (when have a GPS direct open) if GPS signals arrive.
    If not we close and open the ComPort (helps most of the time).
    So here we could "check GPS data arrived in the last xx seconds" - if not - and IsApplicationRunning returns true we have the "orphan situation".

    So if you could find this window (Find window enables you to search via class name) and send (post) commands to it - maybe you can make it go.

    Regards

    Manfred

  •  12-04-2005, 11:36 309 in reply to 308

    Re: AW: Re: AW: known-bug list

    Hi Manni,

    let see .. if TT is in "orphan window" State ...
    So you can see a process with a window class "MunichClassWnd" but a Window tittle "" (NULL).
    I thing, TT has stoped  the ProcessMessage Loop and dit not response on a WM_GETTEXT for
    the Window Main Title. (in CE Spy++ the Debuger will send it)

    Your solution with:
    "Yust call any AsyncFunction (like GetApplicationVersion) and after a short wait - check for IsReturnAvailable.
    If TTN is not repsonding in this situation it should not give a result.....
    "
    will not work because of the SDK Interface of TT.
    TT will not response for a SDK call when it routes/reroutes. I have messured up to 32 seconds on my device for a route
    over the highway about 500km.
    We long will you wait ?

    I thing, a solution is:
    BOOL IsTTgood()
    {
        HWND hwnd;
        hwnd=FindWindow("MunichClassWnd",NULL);
        if (hwnd==NULL) return false;   //TT is not runnig
        if(!GetWindowTitle(hwnd)) return false;    //TT is running, but have no title
        return true;   //TT is good !
    }

    I will try this ...

    Greetings
    howi




  •  12-05-2005, 15:45 314 in reply to 309

    Huh? [:^)] Is TT good ?

    Hi Manni,

    I will try this ...
    I have try this:

    1.
    GetWindowText(hTTWnd,xx,xx) dit not work, because the MessageLoop from TT are not runnig. (WM_GETTEXT -> no response)

    2.
    DWORD procid;
    HANDLE hproc;
    procid=GetWindowThreadProcessId(hTTWnd,NULL);
    hproc=OpenProcess(PROCESS_TERMINATE,FALSE,procid);
    if(hproc != NULL) {
        TerminateProcess(hproc,IDOK);      //like the Flintstones
        CloseHandle(hproc);
    }

    Dit also not work (it is from a MS Sample), because OpenProcess returns allway NULL !
    So you get no Handle for TerminateProcess.

    So, i have no solution for this ... only the Resetbutton !
    I have found that where GPS runns on higher speed (38400), the
    "instable" situation is less often as with 4800baud.

    I think, when TT make  a WM_COPYDATA  SendMessage, and the User stops TT then ...

    Greetings
    Howi


Page 2 of 3 (41 items)   < Previous 1 2 3 Next >
View as RSS news feed in XML
Powered by Community Server, by Telligent Systems