Page 1 of 2 12 LastLast
Results 1 to 40 of 48

Thread: Microsoft retiring Internet Explorer next year

  1. #1

    Thread Starter
    Lively Member
    Join Date
    Aug 2013
    Posts
    126

    Microsoft retiring Internet Explorer next year

    Announcement here

    It says in its FAQ section:

    What is the MSHTML (Trident) engine? How does that relate to IE mode?

    The MSHTML (Trident) engine is the underlying platform for Internet Explorer 11. This is the same engine used by IE mode and it will continue to be supported (in other words, unaffected by this announcement). WebOC will also continue to be supported. If you have a custom or third-party app that relies on the MSHTML platform, you can expect it to continue to work. For future app development, we recommend using WebView2.
    I don't understand the implications of this for VB6.

    Specifically, I wonder does it mean that the InternetExplorer object ,
    Code:
    CreateObject("InternetExplorer.Application")
    will continue to work?
    Will we still be able to display a browser window to the user as well as use VB6 to write to and read from it?
    Will the webbrowser control still work as now?

  2. #2
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    I would say that if Internet Explorer has been retired and is no longer installed by default, the CreateObject code you posted won't work. I believe Microsoft now wants people to use Microsoft Edge. Perhaps a better question to ask would be:

    Can Visual Basic 6.0 interact with more current browsers such as Firefox/Chrome/Edge, and if so how? https://www.google.com/search?q=vb6+...4dUDCBE&uact=5.

    Unless you must use IE, I suggest considering another browser.

  3. #3

    Thread Starter
    Lively Member
    Join Date
    Aug 2013
    Posts
    126

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    I would say that if Internet Explorer has been retired and is no longer installed by default, the CreateObject code you posted won't work. I believe Microsoft now wants people to use Microsoft Edge. Perhaps a better question to ask would be:

    Can Visual Basic 6.0 interact with more current browsers such as Firefox/Chrome/Edge, and if so how? https://www.google.com/search?q=vb6+...4dUDCBE&uact=5.

    Unless you must use IE, I suggest considering another browser.
    Thanks Peter,
    At least we have a year I suppose.

  4. #4
    PowerPoster Zvoni's Avatar
    Join Date
    Sep 2012
    Location
    To the moon and then left
    Posts
    2,624

    Re: Microsoft retiring Internet Explorer next year

    And considering, that CreateObject("InternetExplorer.Application") actually looks into the Registry, to get all pertinent informations --> "Computer\HKEY_CLASSES_ROOT\InternetExplorer.Application"
    i don't think it should be that difficult to port it to another browser
    One System to rule them all, One IDE to find them,
    One Code to bring them all, and to the Framework bind them,
    in the Land of Redmond, where the Windows lie
    ---------------------------------------------------------------------------------
    People call me crazy because i'm jumping out of perfectly fine airplanes.
    ---------------------------------------------------------------------------------
    For health reasons i try to avoid reading unformatted Code

  5. #5
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @zvoni, I considered suggesting that but decided against it. Messing with the registry is best avoided imho. And that migh keep CreateObject working, but what about the rest of the functionallity? If that modern browser doesn't work like IE the vb6 app calling still won't be able to work properly.

  6. #6
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    It could be usefull to find a solution to replace the CreateObject("InternetExplorer.Application")

    I use it in some projects to retrive and push data in fields and finally retrieveing the result.

    Like my automatic Translation routine using DeepL
    Private Function Translate_DeepL(sText As String, sLangueFrom As String, sLangueTo As String) As String
    ' #VBIDEUtils#************************************************************
    ' * Author :
    ' * Web Site :
    ' * E-Mail :
    ' * Date :
    ' * Time :
    ' * Module Name : Translation_Module
    ' * Module Filename : Translations.bas
    ' * Procedure Name : Translate_DeepL
    ' * Purpose :
    ' * Parameters :
    ' * sText As String
    ' * sLangueFrom As String
    ' * sLangueTo As String
    ' * Purpose :
    ' **********************************************************************
    ' * Comments :
    ' *
    ' *
    ' * Example :
    ' *
    ' * See Also :
    ' *
    ' * History :
    ' *
    ' *
    ' **********************************************************************

    ' #VBIDEUtilsERROR#
    1 On Error GoTo ERROR_Translate_DeepL

    Dim Timeout As Date

    2 Const CLASSNAME As String = "lmt__textarea lmt__target_textarea lmt__textarea_base_style"

    3 On Error Resume Next

    4 If m_objIE Is Nothing Then Set m_objIE = CreateObject("InternetExplorer.Application")

    5 m_objIE.Document.getElementsByClassName(CLASSNAME)(0).innerText = vbNullString

    6 m_objIE.Navigate "https://www.deepl.com/translator#" & sLangueFrom & "/" & sLangueTo & "/" & Replace(sText, " ", "%20")
    7 Timeout = Now + TimeValue("00:00:05")

    8 Do
    9 Translate_DeepL = m_objIE.Document.getElementsByClassName(CLASSNAME)(0).innerText
    10 If Now >= Timeout Then Exit Do
    11 Loop While Translate_DeepL = vbNullString

    12 On Error GoTo 0

    13 EXIT_Translate_DeepL:
    14 On Error Resume Next

    15 Exit Function

    ' #VBIDEUtilsERROR#
    16 ERROR_Translate_DeepL:
    17 Select Case IAErrorHandler(gcError & Err.Number & ": " & Err.Description & vbCrLf & "in Translation_Module.Translate_DeepL" & vbCrLf & gcErrorLine & Erl, vbAbortRetryIgnore + vbCritical, "Error")
    Case vbAbort
    18 Screen.MousePointer = vbDefault
    19 Resume EXIT_Translate_DeepL
    20 Case vbRetry
    21 Resume
    22 Case vbIgnore
    23 Resume Next
    24 End Select

    25 Resume EXIT_Translate_DeepL

    End Function
    Maybe a work arround ?

    I think I oculd find one easily, but when I'll have time to investigate

  7. #7
    Frenzied Member PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Newport, UK
    Posts
    1,477

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Thierry69 View Post
    It could be usefull to find a solution to replace the CreateObject("InternetExplorer.Application")

    I use it in some projects to retrive and push data in fields and finally retrieveing the result.

    Like my automatic Translation routine using DeepL


    Maybe a work arround ?

    I think I oculd find one easily, but when I'll have time to investigate
    For starters they have a published API https://support.deepl.com/hc/en-us/a...g-API-requests that would always be preferable to using a browser to submit and parse results.

  8. #8
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @thierry69:

    Line numbers have been obsolete since QBasic/Quick Basic/VBDos, etc. It seems completely unnecessary to number each line. Also, I prefer to use labels if I can't avoid it because of On Error GoTo, for example. Also, I only use On Error Resume Next in very specific cases.
    Last edited by Peter Swinkels; May 20th, 2021 at 05:24 AM.

  9. #9
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    Peter, Iusing VBIDEUtils, it adds/remove lines number.

    I use them A LOT with the IAErrorHandler, in order to track error and the lines where it occurs.

  10. #10
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    PlausiblyDamp
    it could be a solution, but needs a key etc...
    My way is easy, no needs etc...

  11. #11
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @thierry69:

    What is IAErrorHandler? I can't find it using Google.

    Also, wouldn't it be easier to just enable the option to have vb's ide break during an error? There is option for that. Barring that you could temporarily use search/replace to comment out all "On Error" statements. I am not sure but can line numbers still be used in a compiled exe to trace an errorr's source? Especially when there is no debugging info included?

    I think it's better to write case specific error handlers and pass relevant info to an error handler where critical and leave the rest to a generic handler.

    Line numbers may once have been the only (practical) way to go about this, but I think you should consider more up to date methods. I wouldn't be at all surprised if line numbers are only included in vb6 to make porting code from earlier BASIC's easier.

    Perhaps a question for another thread: why do several programming languages have what appear to be a load of obsolete features? To avoid breaking backward compatiblity? Regarding my remark about porting: I don't think most code for older BASICs would even work in vb without massive refactoring. Even if some obsolete features have been included/retained.
    Last edited by Peter Swinkels; May 20th, 2021 at 09:15 AM. Reason: spelling

  12. #12
    Frenzied Member PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Newport, UK
    Posts
    1,477

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Thierry69 View Post
    PlausiblyDamp
    it could be a solution, but needs a key etc...
    My way is easy, no needs etc...
    I have never understood the insistence on HTML scraping when a fully supported alternative exists. In most cases HTML scraping is against the T&Cs and it certainly seems that way looking at the ones present on the site in question. HTML Scrapping is fragile and error prone as changes to the HTML or how the website functions can break things, automating browsers is hit and miss at best.

    Registering for a key takes less than a couple of minutes (I have just gone through the process and it was straight forward), generating a basic request was trivial and the response was in a standard format, and the entire process was also in line with the company's T&Cs.

  13. #13
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    Peter Swinkels,

    IAErrorHandler is my own error handler.
    it is to log potential errors on client side (nmore than 1000 clients), so when an error happens somewhere, it is easier to know where and the reason, in order to fix it.
    I don't know in VB6 any other way to retrieve the line where the error occured. In /NET, it is easier for that


    PlausiblyDamp,

    You are right, it is fragile, but this routine is not critical, it is just used internally to translate in other languages automatically. and it is used only from times to times.
    Registering a key, yes, easy, I know, I'll investigate when I'll have time.

    But HTML scraping is also useful sometimes in some cases.

  14. #14
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @plausiblydamp:

    Yeah, I remember reading something on certain websites requiring a key to interact with their API's via scripts. I have never looked into it. Do you know a good beginners guide regarding this subject?

  15. #15
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    Peter,
    it is quite easy to implement, I al ready do it for several other services (like Google, to sync agenda etc...)
    but it depends always on the service, and the way to implement and return.
    Managing XML,JSON or other

  16. #16

    Thread Starter
    Lively Member
    Join Date
    Aug 2013
    Posts
    126

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by PlausiblyDamp View Post
    I have never understood the insistence on HTML scraping when a fully supported alternative exists. In most cases HTML scraping is against the T&Cs and it certainly seems that way looking at the ones present on the site in question. HTML Scrapping is fragile and error prone as changes to the HTML or how the website functions can break things, automating browsers is hit and miss at best.

    Registering for a key takes less than a couple of minutes (I have just gone through the process and it was straight forward), generating a basic request was trivial and the response was in a standard format, and the entire process was also in line with the company's T&Cs.
    Some government departments don't provide an API yet expect small contractors to fill in long forms online where
    previously they were able to mail in forms that they could have software autofill.

  17. #17
    Frenzied Member PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Newport, UK
    Posts
    1,477

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    @plausiblydamp:

    Yeah, I remember reading something on certain websites requiring a key to interact with their API's via scripts. I have never looked into it. Do you know a good beginners guide regarding this subject?
    Unfortunately there doesn't seem to be any one single way any given API will implement this kind of thing. for example the DeepL API would take a POST Request looking like
    Code:
    POST /v2/translate?auth_key=[yourAuthKey]> HTTP/1.0
    Host: api.deepl.com
    User-Agent: YourApp
    Accept: */*
    Content-Length: 54
    Content-Type: application/x-www-form-urlencoded
    
    auth_key=[yourAuthKey]&text=Hello, world&target_lang=DE
    often you end up wading through the specific documentation - luckily things are getting better as the above came straight from their website

  18. #18
    Frenzied Member PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Newport, UK
    Posts
    1,477

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by vbrad View Post
    Some government departments don't provide an API yet expect small contractors to fill in long forms online where
    previously they were able to mail in forms that they could have software autofill.
    Which is why I specifically said "when a fully supported alternative exists", if there is no API and the site allows web scraping then needs must etc. however if there is a supported alternative then why not use it?

  19. #19

    Thread Starter
    Lively Member
    Join Date
    Aug 2013
    Posts
    126

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by PlausiblyDamp View Post
    Which is why I specifically said "when a fully supported alternative exists", if there is no API and the site allows web scraping then needs must etc. however if there is a supported alternative then why not use it?
    Sorry I didn't see that.

  20. #20

    Thread Starter
    Lively Member
    Join Date
    Aug 2013
    Posts
    126

    Re: Microsoft retiring Internet Explorer next year

    If the application is written in vb.net or c# is there an alternative there that is not available in vb6?

  21. #21

    Thread Starter
    Lively Member
    Join Date
    Aug 2013
    Posts
    126

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    @thierry69:
    Also, wouldn't it be easier to just enabled to option to have vb's ide break during an error? There is option for that. Barring that you could temporarily use search/replace to comment out all "On Error" statements. I am not sure but can line numbers still be used in a compiled exe to trace an errorr's source? Especially when there is no debugging info included?
    MZ tools allows you to have an error handling template that you can easily add to any procedure
    It also has a feature to allow for the easy insertion or removal of line numbers.
    The two together allow you to easily log the file, procedure and line (Erl) the error occurred in along with the error number and description.

  22. #22
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    VBIDEUtils does all that also (I know, I wrote it)
    and template for error handling is also in VBIDEUtils.
    NB : I wrote it before MZTools, MZTools did a copy

  23. #23
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @Thierry69: it may be easy, but I don't know where to get started. Do you know a tutorial which could get me started? I have to confess when I try to look for it I get the feeling I don't know where to start. Probably because I don't know what exactly it is I am looking for. I know it has to do with keys, API's and websites. That's about it.

  24. #24

  25. #25
    PowerPoster
    Join Date
    Jun 2013
    Posts
    5,602

    Re: Microsoft retiring Internet Explorer next year

    I read the posting (the citation) in #1 as:
    - the IE-Control and the Document-Parser (MSHTML-Typelib) will be available further (ieframe.dll + satellite-libs)
    - whereas the IE(11)-Application will be gone (IExplore.exe)

    That will still allow InProcess-embedding as a normal Control, or dynamically via:
    - Controls.Add("Shell.Explorer.2", "WebBrowser1")
    - or for DOM-parsing-stuff without GUI: CreateObject("htmlfile")


    Whereas OutOfProcess: CreateObject("InternetExplorer.Application") will not work anymore -
    (since the ActiveX-Exe-Host IExplore.exe will be gone).

    Olaf

  26. #26
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    36,574

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    @thierry69:

    Line numbers have been obsolete since QBasic/Quick Basic/VBDos, etc. It seems completely unnecessary to number each line.
    Not quite sure what you mean by that, since line numbering exists by default in all recent versions of VS (I can't say how far back that goes), and you see line numbering in the source code viewers built into all modern browsers that I'm aware of (which, admittedly, is not all that many, but it IS the big ones). Generally, copying and pasting of the code doesn't include line numbers, though, as seen in the code you were referencing.
    My usual boring signature: Nothing

  27. #27
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    To my understanding line numbers used to be the only way to "name" a location within your program. In fact they were a mandatory part of the code in very early BASIC dialects. While vb6 and even vb.net still support line numbers I see obsoletely zero reason to still use them. Can you give me one legitimate reason why support for line numbers even still exists? Even as far back as Quick Basic I could avoid line numbers by following a few simple coding practices.

    In my mind they seem like some hold over from the past that should be avoided at all cost. But I could be wrong.
    Last edited by Peter Swinkels; May 21st, 2021 at 05:40 AM. Reason: spelling

  28. #28
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,281

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    In my mind they seem like some hold over from the past that should be avoided at all cost. But I could be wrong.
    Line numbers are *very* handy for reporting the source line an error occured by using the undocument Erl function. Try it yourself:

    Code:
    Option Explicit
    
    Private Sub Form_Load()
    4:    Dim a As Long
    5:
    6:    On Error GoTo EH
    7:    a = a + 1
    8:    a = a / 0
    9:    Exit Sub
    EH:
    11:    MsgBox Err.Description & " on " & Erl & " line", vbCritical
    End Sub
    At our shop we use a pre-build tool to put line numbers on the source files that coincide with the line numbers in the IDE so that error repoting can collect the source line the error is originating from.

    cheers,
    </wqw>

  29. #29
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    I believe there are better ways to trace the source of an error. Early BASIC dialects had built in features to manage line-numbers. I think the very fact you have to resort to external tools these days is a red flag.

  30. #30
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    470

    Re: Microsoft retiring Internet Explorer next year

    Peter, no other way to do it if you want to know the exact line

  31. #31
    PowerPoster Arnoutdv's Avatar
    Join Date
    Oct 2013
    Posts
    4,699

    Re: Microsoft retiring Internet Explorer next year

    @Peter
    Uh, I use also line numbering and the same kind of error handling.
    VB6 can use line numbers and has the Erl variable, so what do you mean with resorting to external tool is a red flag?

  32. #32
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,281

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    I believe there are better ways to trace the source of an error.
    You mean the source line of the error? Very intrested if you know an alternative.

    Mind that in production we also ship PDBs but source lines reported on call-stack using these differ from the exact line in the IDE because of UI designer's "prefix" in the source file and because of the hidden attributes dispersed throughout the source code.

    cheers,
    </wqw>

  33. #33
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    Wouldn't overriding the error handlers work? Vb should break on the exact line causing an issue. But this isn't an option for compiled exe running outside of the development environment I guess. Still, aren't the diagnostic tools that would do the same trick?

  34. #34
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,281

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    Still, aren't the diagnostic tools that would do the same trick?
    We do use the IDE with "Break on All Errors" option set so it does stop on the line the error occurs, shows a message box with error text but does *not* populate the Err object (yet).

    Not aware of anything similar for compiled executables though.

    cheers,
    </wqw>

  35. #35
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @wqweto: I have never heard of ERL being undocumented. I have known about for over two decades. I have to admit I don't know enough about professional software engineering to suggest an alternative. I guess it would depend on your company's needs.

    @Arnoutdv: ERL is a function. or read-only property. Not a variable. Why did I call using external tools a red flag? Well, I would say the very fact line numbers are no longer mandatory and the commands to manage them have disappeared mean something don't they? Heck, Microsoft even provided a line number removing tool with QBasic/Quick Basic.

  36. #36
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,281

    Re: Microsoft retiring Internet Explorer next year

    Just for the record: we *don't* use line numbers like in On Error GoTo 1 because we need the line numbering language feature for the build server pre-processing tool to apply correct source line numbers.

    cheers,
    </wqw>

  37. #37
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @wqweto, I am not sure what you mean in your last post.

    @all:
    If you really feel line numbers are your best option for what you need, by all means use them. I just have a hard time grasping the fact that in this day and age there is no decent alternative. Especially when I hear about it within the context of professional software engineering.

  38. #38
    Hyperactive Member
    Join Date
    Jun 2019
    Posts
    351

    Re: Microsoft retiring Internet Explorer next year

    @Peter Swinkels: Making production builds is like pipeline of steps and one of these steps is the tool wqweto wrote and posted link to.

    This step is to process source files and automatically add line numbers so error management will know (Erl) and log exactly which line was the exception according source code line numbers shown inside VB6 IDE. After that the real compilation is applied. These line numbers are discarded as they are used by the build server only.

    If there was exception in the logs then it is easy to track to the exact line where it happened.
    Last edited by peterst; May 21st, 2021 at 07:03 AM.

  39. #39
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,281

    Re: Microsoft retiring Internet Explorer next year

    Quote Originally Posted by Peter Swinkels View Post
    @wqweto, I am not sure what you mean in your last post.
    It means that I agree with you that line numbers are obsolete and so we refrain from using this language feature at all in our code (and because this language feature is used by the build tools for error reporting purposes).

    cheers,
    </wqw>

  40. #40
    Frenzied Member
    Join Date
    Feb 2003
    Posts
    1,402

    Re: Microsoft retiring Internet Explorer next year

    @peterst:
    So this means vb6 code with line numbers is actually part of some intermediate step during compiling?

    @wqweto:
    So a tool adds them, not the developer?

    I thought information to be able to produce stack traces and the like could be added during compilation for debugging.

    Is this whole line number thing still present in the product when the end user gets to work with it?

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width