Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » Urgent - Update of Windows - DOM-OleAutamation
Urgent - Update of Windows - DOM-OleAutamation [message #450349] Thu, 10 February 2005 17:56 Go to next message
Eclipse UserFriend
Originally posted by: asra.choukri.hyperoffice.fr

Since, I installed the last ones update of Windows, the following program
doesn't work any more. Before the updates, It always worked.

I don't recover any more DOM of my OleAutamation. it's null.

I work with version 2.1 of eclipse
this problem exist on Windows 2000 and Windows XP - SP2



Here a program :

public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
OleFrame oleFrameHtml = new OleFrame(shell, SWT.BORDER);
final OleControlSite controlSiteHtml = new
OleControlSite(oleFrameHtml,SWT.NONE, "DHTMLEdit.DHTMLEdit");
controlSiteHtml.doVerb(OLE.OLEIVERB_SHOW);
final OleAutomation objIDHTMLEdit = new OleAutomation(controlSiteHtml);
int[] rgdispid = objIDHTMLEdit.getIDsOfNames(new
String[]{"LoadDocument","pathIn", "promptUser"});
int dispIdMember = rgdispid[0];
Variant[] rgvarg = new Variant[2];
int[] rgdispidNamedArgs = new int[2];
rgvarg[0] = new Variant("C:\\abc2.html");
rgdispidNamedArgs[0] = rgdispid[1];rgvarg[1] = new Variant(1);
rgdispidNamedArgs[1] = rgdispid[2];
objIDHTMLEdit.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
Button b = new Button(shell, SWT.PUSH);
b.setText("Showtext");
b.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
System.out.println(innerHTMLOfOLE(objIDHTMLEdit));
}
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
objIDHTMLEdit.dispose();
display.dispose();


}

public static String innerHTMLOfOLE(OleAutomation automationHtml){
try{
TypeInfo.printTypeInfo(automationHtml);
int[] rgdispid = automationHtml.getIDsOfNames(new String[]{"DOM"});
Variant pVarResult = automationHtml.getProperty(rgdispid[0]);


======> pVarResult IS ALWAYS NULL NOW

if (pVarResult != null && pVarResult.getType() != OLE.VT_EMPTY) {
OleAutomation objIHTMLDocument = pVarResult.getAutomation();
pVarResult.dispose();
rgdispid = objIHTMLDocument.getIDsOfNames(new String[]{"body"});
pVarResult = objIHTMLDocument.getProperty(rgdispid[0]);
if (pVarResult != null && pVarResult.getType() != OLE.VT_EMPTY) {
OleAutomation objIHTMLbody = pVarResult.getAutomation();
pVarResult.dispose();
rgdispid = objIHTMLbody.getIDsOfNames(new String[]{"innerHTML"});
pVarResult = objIHTMLbody.getProperty(rgdispid[0]);
return pVarResult.getString();
}
return null;
}
return null;
}
catch (Throwable t){
return null;
}
}
Re: Urgent - Update of Windows - DOM-OleAutamation [message #450388 is a reply to message #450349] Fri, 11 February 2005 12:27 Go to previous message
Eclipse UserFriend
Originally posted by: asra.choukri.hyperoffice.fr

I know that the DHTMLEdit.ocx was modified by an Microsotf Update.
Since the DOM isn't accessible.
Do I have to use another method or do use another ActivX and if yes which?

Thanks you for your help.

Asra.


"asra" <asra.choukri@hyperoffice.fr> a
Previous Topic:Very Efficient Tree Implementation
Next Topic:selected column index given a TableItem
Goto Forum:
  


Current Time: Thu Apr 18 01:46:44 GMT 2024

Powered by FUDForum. Page generated in 0.01915 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top