FAQ: Problems with HTML in SuperMemo

Windows monopoly is safe for quite a time
(LGN, Brazil, Sunday, July 14, 2002 8:07 AM)
You say: "No escape from Internet Explorer, those who refuse only hurt themselves", this is ridiculous! You got the right to develop using whatever component you want, but users got the right to use whatever product they want
Many people swear they will never use Windows, Internet Explorer, MS Word, etc. but they ultimately return to these products for lack of better options. They refuse to hurt themselves. Microsoft monopoly may drive many mad, but, as death and taxes, the monopoly is inevitable for some time to come. Incremental reading is available only on the Windows platform due to the fact that this platform currently offers best development tools and SuperMemo has historically grown mainly in Windows. In contrast, the effort to port SuperMemo 2000 to Linux failed due to compatibility problems, imperfect tools (Kylix requires a conversion from VCL to CLX and does not provide web browser support) and other technical limitations. SuperMemo indeed takes the line of least resistance, but this comes from the fact that it is supposed to provide best learning tool for as many people as possible. It would be counterproductive to take on an anti-Microsoft anti-monopoly guerilla warfare. Here SuperMemo refuses to hurt itself. This is how locked-in monopolies develop

Use HTML filters on unruly pages
(Beta, Max, February, February 2002)
I imported a page from cnn.com but cannot edit it. In addition it shows many script errors
Use HTML filter with F6. Check Scripts to remove scripts from the page. If you have editing problems (e.g. deleting objects, texts, etc.), check other relevant filtering options. Tables are particularly troublesome. If you do not need tables, filter them out

Extract from multimedia pages only most important pieces of information
(Beta, Jiri, Feb 17, 2002)
After pasting a CNN.com page, it opens for hours, sometimes it is blank or shows script errors
Pasting whole multimedia pages into SuperMemo is not a good strategy. There are millions of HTML compatibility issues that may come into play, generate errors, hang up mshtml processor or even produce system-wide errors. SuperMemo can do little to remedy this but providing you with HTML filters. In similar cases, import to SuperMemo only the core article. If possible, always look for printer friendly version (i.e. without adverts, scripts, Flash references, etc.). Once you import your material, use HTML Filter with F6 to filter out tags that may cause problems in incremental reading. If possible, filter out tables too. Unfortunately, these inconveniences cannot easily be solved programmatically as HTML processor in Windows is still quite unreliable and it will take some time to smooth up all wrinkles

Problems with extracts
(Beta, Len, February 2002)
On some HTML pages, Remember Extract does not work correctly. After extracting the fragment, the file scrolls back to the top
Use HTML filter with F6 to remove components that slow loading up the file. For example, filter out tables on remote access pages to make sure content loads sequentially

Filtering HTML styles
Part of my imported HTML file is invisible. Only when I click on it, I see the full text. What's up?
Your file might be using style="DISPLAY: none". Use HTML filter F6 with Style checked to permanently display the text by removing this style attribute. SuperMemo never generates such styles. They must have been pasted along with your HTML file

Del does not work
(Robert, Feb 13, 2002)
Sometimes Del does not work in HTML. I need to use Backspace to get deletion of text
Some functions are not available in HTML until the document loads completely. If its portions are left out on the Internet, this may take a while. SuperMemo keyboard handler (including the Del key) is assigned only when the document loading is complete. Backspace is handled by MSHTML and can be used immediately. Due to compatibility problems, Del key does not work in raw HTML and needs a dedicated keyboard handling procedure provided by SuperMemo for processing Del keystrokes. This is why Del will not work until the document loads. This does not affect Backspace which can be used in partly loaded documents

mshtml.dll errors are harmless
(Steven White, Australia, 4/08/2002)
This error occurs several times a day: Access violation at address 635B6305 in module 'mshtml.dll'. Read of address 00000008. Often after adding a web page with an image
This error is harmless. In some installations, Microsoft's library that handles HTML tends to throw unexpected errors while SuperMemo processes HTML. No data loss has ever been documented as a result of these errors. The only annoyance is that you need to click the OK button. The best remedy against these errors is to keep your Internet Explorer and Service Packs up-to-date. Using Windows 2000, Windows XP or Windows Vista also seems to be helpful (as opposed to Windows NT, Windows 98 and particularly Windows ME). These errors are not caused by SuperMemo itself

Problems with intercepting accelerators in HTML editor
(Zoran, 02.03.2002 16:32:54)
I have an HTML article imported with Ctrl+Alt+N. When editing and pressing 's' key, SuperMemo moved focus to the next element. I think that the reason for this is that my button Next is localized to &Sledeci (Next in Serbian)
Yes. In some installations you will need to remove shortcuts from your localization table (i.e. replace &Sledeci with Sledeci). When you edit HTML, SuperMemo needs to activate a separate message handler for the whole application (due to peculiarities in IE Active X and Delphi VCL keyboard handling procedures). This handler is still unable to intercept some accelerator keys. The rule of the thumb is that this problem is more frequent in outdated installations (e.g. Windows ME, Internet Explorer 5.5, national versions of the operating system, etc.). If this occurs with the English interface, you can download trimmed.tra from the localization page at supermemo.com. If this seems too complex, you could also try this procedure

Problems with pasting HTML to SuperMemo are an indicator of problems with Internet Explorer
(Geraldine, Sun Jun 15, 2003 10:15 am)
I tried Ctrl+Alt+N, and nothing pasted. I had an empty HTML component

  1. Copy your HTML to the clipboard 
  2. Press Ctrl+Alt+N in SuperMemo to paste the article 
  3. If nothing pastes, choose Components : Component order on the element menu (Ctrl+Shift+O) and see if your first text component is HTML 
  4. If the component is not HTML, read about components and categories and change your default template to HTML 
  5. If the component is HTML, try to paste the content of clipboard to another application (e.g. MS Word or Notepad) to see if the clipboard is not empty 
  6. If clipboard is not empty, you have diagnosed a problem with Internet Explorer. See File : Properties to see if you have Internet Explorer 6 with the recent Service Pack update. This is an exemplary outdated setting: 
         Windows 2000 5.0 (Build 2195) Internet Explorer 6.0 (0) 
    This is an exemplary up-to-date setting: 
         Windows 2000 5.0 (Build 2195) Service Pack 3 Internet Explorer 6.0 (SP1Q328970Q324929Q810847Q813951Q813489Q330994Q818529) 
  7. Make sure you have an updated version of Internet Explorer (as indicated above) 
  8. If the problem persists, you will need a help from a software expert to diagnose what causes malfunction of explorer libraries 
  9. For better diagnosis, you could yet save your HTML file on a disk and import it with Edit : Add to category : HTML file
  10. If you file imports ok, you have the problem with the editing mode in Internet Explorer. If the file does not import correctly, you may have a further reaching problem with your system. To make sure you execute the above procedure correctly, use SuperMemo on another computer and see the correct behavior and the correct HTML rendering.

Wrong extract highlight
(Beta, Robert, Fri, Feb 15, 2002 15:07)
I used the Read toolbar and clicked the button "Extract a fragment and memorize it" The correct text was extracted, but the wrong text was highlighted
This is a bug in mshtml.dll in character count on non-text HTML constructs. Currently SuperMemo cannot work around this bug. However, you may often remedy this problem by means of HTML filters (F6 in SuperMemo). Filter the styles, spacing and, if possible, the tables. Most often, MSHTML trips over on tables or table-formatted figures

Wait for document loading?
(Beta, Germany, Sun, Apr 07, 2002 9:48)
Why do I get the message "Wait for document loading?"
When SuperMemo tries to obtain a text selection in an HTML document, it occasionally receives a null pointer. To prevent erroneous processing, it stops and repeats the request with a delay. By the time you click Yes, the document is usually ready for processing. This null pointer error usually happens when a document is reloaded and the selected text is to be marked (e.g. in Remember Extract). This error is most likely on long texts with links to remote servers and on texts using tables. Using text filter (F6) helps to reduce the occurrence of this error. It is also less troublesome on NT/2000/XP/Vista platforms. Upon release of SuperMemo 2002, the source code of HTML processing unit was published to better illustrate similar problems in hope of gathering feedback from programmers who have experience with MSHTML bug workarounds

Wholesale import from Internet Explorer hangs up
(Beta, Germany, Tue, Apr 09, 2002 10:01)
I tried to import nine web pages from Internet Explorer and SuperMemo hung up. I was forced to shut it through the task manager
Unfortunately, SuperMemo is here at the mercy of Internet Explorer. Once it executes a call to Explorer's interface, it can only hope the call returns the page (or at least an error). Occasionally, however, Explorer hangs up and so does SuperMemo. If you need to resort to task manager, try to close the offending instance of the Explorer first. Usually, this will kill all instances. This should, however, un-hang SuperMemo in most cases. Once the Explorer hangs up, the only way to recover the previously located pages is to reenter them via the History option in the Internet Explorer. We will look for workarounds that could help SuperMemo detect Explorer problems before executing import calls

Outdent does not work
(Beta, Piotr, Feb 08, 2002)
Very often, the Outdent option does not work in HTML. Why?
Outdent will not work on tags such as <DIR>, <SUB>, etc. Those tags are frequently generated if you upgrade your texts from RTF format. If Outdent does not work, choose the Bullet option to achieve a similar effect

You can insert pictures into HTML using FrontPage
(Jiri, Jun 30, 2004, 09:30:57)
I use FrontPage to edit HTML in SuperMemo. After I insert pictures in FrontPage, everything works ok. But after I run File : Repair collection, SuperMemo reports pictures as "stray files" and moves them to the Recover folder. Pictures are no longer visible in HTML
Try the following remedy: 

  1. After inserting pictures in FrontPage, press Ctrl+F8 (Download Images
  2. Choose in turn: Select All, Download and Localize ("download" is misleading here as you are actually copying files from your own hard disk)

This will make SuperMemo relocate pictures saved by FrontPage into <name>_files folder as if the page was saved by Internet Explorer. This folder has a privileged status, and SuperMemo does not delete it or move it. Files saved by FrontPage, on the other hand may conflict with other files in the \elements folder, this is why SuperMemo moves them away to the \recover folder

Why not IE5.5
(Beta, Poland, Thursday, February 28, 2002 2:48 PM)
Maybe the information "SuperMemo requires Internet Explorer ver. 6.0" should be displayed only once? It becomes annoying after several times. I think many people won't change their IE5.5 yet
It is true that IE6 has gained a reputation as "buggy". It is also true that the said warning should only be displayed at critical points where an operation could not be executed. However, the drive towards IE6 and beyond is inevitable. This comes from the constant refinement of Microsoft's implementation of W3C DOM standard. IE5.5 implementation is incomplete. IE6 implementation is buggy. Consequently, all users of SuperMemo will probably wait with impatience for further upgrades to ensure full W3C compliance without frequent error messages in unpredictable contexts that SuperMemo can do nothing about

Mshtml error on click
(J.P., Tuesday, April 30, 2002 9:24 AM)
I wanted to create a cloze deletion. When I went to select the word I received an "access violation at 635BD90 in module mshtml.dll". I am using Windows XP Professional edition
This on click error in mshtml.dll is occurring unpredictably in SuperMemo. Good news is that it is unlikely to affect your data. Bad news is that it comes up unexpectedly in various contexts where SuperMemo executes a valid call to mshtml interfaces. In other words, this bug has until now eluded all attempts at implementing a workaround

Error: Interface not supported
(Beta, JP, Sun, Feb 17, 2002 14:27)
What does the error "Interface not supported" mean? (when opening the window for importing web pages)
This error is most likely if your use an older version of Internet Explorer. Occasionally it may crop up in Internet Explorer 6.0 due to bugs in explorer libraries. In addition, it would crop up in earlier betas (before Beta F) if SuperMemo tried to mistakenly import from Windows Explorer 

SuperMemo cannot import from a hung IE
(Beta, Feb 09, 2002)
I wanted to import some articles from Internet Explorer and got the following error Cannot import document #27 The object invoked has disconnected from its clients
Some articles do not load correctly to Internet Explorer. Others hang up the browser. In such cases, SuperMemo cannot communicate with the browser and will not be able to import the article. You can ignore this error, select to close imported browser articles, and import the remaining articles. The offending copy of Internet Explorer will be the only one left on your desktop. You can then see if you can paste portions of the article directly from the browser. Most likely, this will not be possible and you will need to locate this article again (e.g. via browser History). Occasionally, you will not even be able to see the browser itself. You could try to see Windows Task Manager (Ctrl+Alt+Del) : Processes and look for IEXPLORE.EXE (sort by memory used to bring explorer close to the top)

Error setting focus on HTML component
(sverrir, 11/05/2003)
I received the following error: 
   "Error setting focus on HTML component 
    Abstract Error
This is a harmless error that should not interfere with your work. It is thrown by Internet Explorer when SuperMemo attempts to set focus on an HTML component. "Abstract error" indicates that Internet Explorer cannot find the definition of the procedure SuperMemo wants to call. It is probably a result of a bug in Internet Explorer that is difficult to replicate. For that reason, SuperMemo can do little to work around it. 

Advanced reading
The procedure that causes the error is very simple and easy to analyze. It is mostly made of direct or indirect (i.e. via VCL library) API calls. Here is the code: 

procedure TWeb.SetFocus; 
     if TheWind<>nil then {Internet Explorer Window must exist
     if TheParent.Visible then {Parenting window hosting the web browser
        if Visible then if CanFocus then 
            inherited SetFocus; 
  except on E:Exception do EError('Error setting focus on HTML component',E); 

Depending on the context, Internet Explorer is known to throw the following errors in the exactly same context (all are harmless):

  • Abstract Error
  • Unspecified error
  • Read of address FFFFFFFF
  • Read of address 00000057
  • Access violation at address 00656429 in module 'sm2002.exe'
  • Range check error

Subscript conversion problems
(Beta, February 2002)
When I apply an HTML template to an RTF component, some of subscripts get converted to normal text
This is a problem with Microsoft conversion filters. Use Subscript and Superscript buttons on the Format toolbar to reformat this text. You can also open the source code of your text (Ctrl+Shift+F6) and enclose the subscript in <sub> and </sub> HTML tags

Use HTML filters to avoid trouble with unsupported tags
(Beta, Feb 17, 2002)
I extracted a fragment of text with Remember Extract but the generated extract was empty. I have not noticed that and executed Done on the parent element. Only then I discovered the empty extract. As a result, I lost this data!
For maximum safety of your data use HTML filters (esp. styles). At least some MS Office XML namespace declaration have been found to produce empty extracts due to mshtml.dll bug. If you paste files from MS Office to HTML, you may fall into a similar pitfall. Luckily these cases are extremely rare (2-3 in all documented). Your best safeguard is to filter most valuable texts before processing them with incremental reading. Again, SuperMemo is helpless in preventing that. It could alert you on empty extracts but oftentimes only a portion of text will be lost

Undo on HTML filters
(Beta, P.W., Feb 17, 2002)
Can I undo changes produced by an HTML filter?
You can partly undo the changes if you checked Enable Undo in the Filter dialog. If you did, then you could open the HTML source in a Notepad (Ctrl+Shift+F6) and replace zzz strings with an empty string (press Ctrl+H and type zzz in Find what field)

Problems with upgrading RTF to HTML
(Norm Wilkins, Apr 15, 2004, 02:56:52)
I receive the following error that leads to loss of data: 
Warning! RTF->HTML upgrade has not been completed at 
Item #247: "Initialization Sequence Priority Definition Frame Reason"
SuperMemo uses procedures inbuilt in MS Windows for upgrading your material stored in the RTF format to HTML. Unfortunately, if these fail for any reason, you may be left with unformatted text. First thing to try is to make sure you update your Windows with all patches and service packs available. You should do the same for your Internet Explorer. If this does not help, you might be better off to paste your material directly to HTML components (instead of RTF components)

Mouse click error
(SuperMemo R&D (Beta 2002), Fri, 15 Mar 2002 00:27:33 +0100)
I got this error when clicking the HTML component: "Error processing mouse click"
This is only one of many errors that occur in Microsoft HTML DLL (a dynamic link library included with Internet Explorer 6.0). It happens when SuperMemo attempts to select a point at a given (X,Y) coordinate pair. It executes a documented call to mshtml.dll, but on some occasions this call fails. Fortunately, this error is harmless. At worst, you will need to repeat the mouse click.

You can use HTML filter (F6) to minimize the occurrence of this and similar errors.

Some of the causes of this error as reported by mshtml.dll are:

  • Unspecified error
  • Incompatible markup pointers for this operation
  • Nieokre=B6lony b=B3=B1d (Polish IE)

See also: http://www.supermemo.com/source/tweb.htm for the source code.

RPC server problem
(J.P., Fri, 5 Apr 2002 20:46:40 +0200)
I tried to import a page from http://news.bbc.co.uk/hi/english/business/newsid_1913000/1913252.stm. I got a message that: "The RPC server is unavailable"
This error occurs outside SuperMemo, and should be transient. RPC server problem indicates an error in communicating between your computer and the BBC site (e.g. some dependent RPC service might have terminated or run in error in your Windows/network)

Internet Explorer 0.0?
(Beta, Mar 20, 2002)
Why does SuperMemo say I am using Internet Explorer 0.0?
SuperMemo asks Internet Explorer about its version data. Earlier versions did not have this function. In such cases, the function used inside SuperMemo to test the version number returns 0. Unfortunately, in those cases the version number is irrelevant as the user will not be able to use HTML editing anyway. SuperMemo 2002 or later requires Internet Explorer 6.0 or later for optimum operation

Original Internet Explorer 6.0 includes bugs that can easily be eliminated with Windows Update
(Eric, Jul 20, 2002)
I moved SuperMemo to a new computer, but I started getting this error: 
"Error detecting HTML font 
Invalid variant operation".
It happens each time I increase the size of the font. The font increases, but this error is annoying.
This is a problem with your Internet Explorer. You may need to apply some more recent updates patches. Use Safety : Windows Update in Internet Explorer to resolve this issue

Using the latest Windows Service Pack may help resolve some HTML import problems
(Jiri Pik, Germany, Wed, 7 Aug 2002 08:41:23 +0200)
When importing an HTML article I got an error "The object invoked has disconnected from its clients"
This is a rare DCOM error that occurs outside SuperMemo. You might try applying the following fix available from Microsoft: Microsoft Knowledge Base Article - Q293631 http://support.microsoft.com/default.aspx?scid=kb;EN-US;q293631