res:// protocol

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I have some html and xml/xsl where all of the pages, images etc. are being
loaded from a .dll file using the res:// protocol.   I am using Internet
Explorer 6.0.  Everything works fine, except I don't seem to be able to
submit a form to another page within the dll.  I can link to other pages in
the dll, just not submit to them.

This works:

This doesn't:

I get a page not found error.

Does anyone know why this is and how I can get around it?

Re: res:// protocol

Nik Coughin said:

Quoted text here. Click to load it*


Re: res:// protocol

Quoted text here. Click to load it

A form assumes a server at "the other end".

A .dll is not a server.

Quoted text here. Click to load it


Yep. There is no such resourse as "Invalid?T1=&T2=&B1=Submit" in your .dll.

Quoted text here. Click to load it

No. There is no way around this. It is the same as if you were to use the
file: protocol. No HTTP server, no forms.

What exactly did you expect to happen?


Re: res:// protocol

Doesn't need an http server becuase I am parsing the GET information with
Javascript.  I'm using <form method="GET" action="test.html"> in input.html
and test.html uses Javascript to read the submitted values.  Not so hard,
and it works fine with the file:// protocol.  So there must be another
reason why it doesn't work.  Thanks anyway.

Quoted text here. Click to load it

Re: res:// protocol

Basically because it doesn't allow for the passing of variables at the end
of the string, ie the ? symbol and following characters are not passed when
using the res protocol.  At first I thought that you couldn't pass anything
other than the name of the resource, but anchors work fine, ie

Quoted text here. Click to load it

Re: res:// protocol

[top posting corrected]

Quoted text here. Click to load it

That's different then.

Quoted text here. Click to load it

Er, I don't think this is the problem.

When you use file:// or res:// your request is farmed out to the operating
system. The OS is quite particular about what can and can not be in a file
name and it is also quite literal. Give it a resource name of
"Invalid?T1=&T2=&B1=Submit" and that is exactly what it will search for.
This resource is, of course, not present in your .exe file.

The pulling apart of the above URL into a *page* called Invalid and some
*parameters* is done by an HTTP server. The file system does not know about
such things.

Quoted text here. Click to load it

The reasson this works is that the browser is stripping off the #test3 bit
in anticipation of an anchor with that name appearing when it fires off
res://test.dll/test. The #test3 is never sent to the server/file system.

AFAIK there is no solution to your problem, except perhaps to stuff the
parameters into a cookie that the next page can read.


Re: res:// protocol

Quoted text here. Click to load it

Bah.  Ah well, it's not critical anyway.  Thanks for your help!

Site Timeline