473,651 Members | 2,793 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

HTTP in the background in IE

I need a work-around for an IE limitation, regarding fetching HTTP
documents in the background. It takes a bit of explaining; please
be patient...

I'm working on an project that will run on an intranet. I need to
have pages be reloaded automatically when the data they reflect is
changed at the server. For Netscape/Mozilla/Firefox, I do this by
having the page use JavaScript to read a special "/update.html" URL
in the background. For this URL, the server doesn't return anything
until it detects a change in the data, at which point it sends a
meaningless response and closes the connection. The browser's
JavaScript code then reloads the main page, showing the new data.
It works great!

But there's this other browser, "Internet Explorer", which I must
also support. The "slow /update.html" strategy *seems* to work until
I exit & reload the main page multiple times, without any changes
being detected in the data. If I do that, then the browser gets stuck.

Apparently IE doesn't terminate backgrounded JavaScript when you exit
the page that started it. For my applicatation, this means IE tries
to accumulate extra backgrounded "/update.html" requests each time
you exit & reload the main page. Also, it seems that IE only allows
about 6 TCP connection in total, so once it's accumulated 6
"/update.html" requests, it can't read anything else.

I got the background "/update.html" strategy to work in IE, more or
less, by making it remember which thread is being used to serve the
slow "/update.html" request for each client, and then when a new thread
wants to do serve a new "/update.html" for the same client, it first
kills the old thread and closes the old connection. I consider this
a nasty hack, but it works.

Except that now I want to allow each client to perform two "/update.html"
requests in parallel -- one for the main window, and one for a pop-up
window. (The /update.html request accepts parameters describing what,
exactly, the client wants to wait for. The main window and pop-up window
will wait for different things.) I tried extending the same "kill the
old thread" hack to handle two connections, but it doesn't seem to be
working. I may yet get it to work, but before I waste a lot of time
on it, I thought I'd ask whether anybody else can suggest something
better.

To reitterate: I want to allow each client to have two windows that
immediately reload their pages when the server's data changes.

Is there some option that IE's JavaScript environment uses to indicate
whether backgrounded tasks should die when the page is unloaded?

Is there a way to kill them on a document unload event, or some
similar event?

Thanks in advance for any advice you can give.
Jan 20 '06 #1
11 1845
Steve Kirkendall wrote:
I'm working on an project that will run on an intranet. I need to
have pages be reloaded automatically when the data they reflect is
changed at the server. For Netscape/Mozilla/Firefox, I do this by
having the page use JavaScript to read a special "/update.html" URL
in the background. For this URL, the server doesn't return anything
until it detects a change in the data, at which point it sends a
meaningless response and closes the connection.

^^^^^^^^^^^^^^^ ^^^^^
Either you use cache control headers which would result in responding
with HTTP status code 304 (Not Modified) if the data was not changed,
or you should respond _properly_ with 204 (No Content) in the case you
detect no change of data server-side. This will probably fix your IE
problem as well.

Also note that your checks should be done with reasonable delay, so use
setTimeout/setInterval() with a timeout/interval length greater than 50
(ms; probably 5000 [5 s] is a nice value), and do not run it in a tight
loop.
HTH

PointedEars
Jan 20 '06 #2
Thomas 'PointedEars' Lahn wrote:
Steve Kirkendall wrote:
I'm working on an project that will run on an intranet. I need to
have pages be reloaded automatically when the data they reflect is
changed at the server. For Netscape/Mozilla/Firefox, I do this by
having the page use JavaScript to read a special "/update.html" URL
in the background. For this URL, the server doesn't return anything
until it detects a change in the data, at which point it sends a
meaningless response and closes the connection.

^^^^^^^^^^^^^^^ ^^^^^
Either you use cache control headers which would result in responding
with HTTP status code 304 (Not Modified) if the data was not changed,
or you should respond _properly_ with 204 (No Content) in the case you
detect no change of data server-side. This will probably fix your IE
problem as well.

Also note that your checks should be done with reasonable delay, so use
setTimeout/setInterval() with a timeout/interval length greater than 50
(ms; probably 5000 [5 s] is a nice value), and do not run it in a tight
loop.


There is no looping involved. Maybe I was too vague in describing my
application.

It's a scheduling system. The users spend most of their time looking
at a page called /sasked.html. That page contains JavaScript which
sends a single /update.html request. When that request is complete
(which is likely to be several minutes later), the browser reloads
the /sasked.html page. The /update.html request is loaded in the
background so it won't interfere with the user's ability to view and
interact with the /sasked.html page. The JavaScript code in
/sasked.html looks like this...

var mygetsig = XmlHttp.create( );
mygetsig.open(" GET",
"/update.html?tim eout=600&before =today&after=to day&poolid=1", true);
mygetsig.onread ystatechange = function()
{
if (mygetsig.ready State == 4)
{
if (mygetsig.respo nseText != "")
{
location.reload ();
}
}
}
mygetsig.send(n ull);

.... where XmlHttp is a wrapper to hide the XmlHttpRequest/ActiveX
incompatibility .

When I said /update.html sends a "meaningles s response", I meant that it
sends back a normal HTTP 200 response containing a nicely formatted HTML
document, with a table listing all of the changes... which the browser
ignores since *any* change tells it to reload /sasked.html from scratch.
Jan 20 '06 #3
Steve Kirkendall wrote:
I need a work-around for an IE limitation, regarding fetching HTTP
documents in the background. It takes a bit of explaining; please
be patient...

I'm working on an project that will run on an intranet. I need to
have pages be reloaded automatically when the data they reflect is
changed at the server. For Netscape/Mozilla/Firefox, I do this by
having the page use JavaScript to read a special "/update.html" URL
in the background. For this URL, the server doesn't return anything
until it detects a change in the data, at which point it sends a
meaningless response and closes the connection. The browser's
JavaScript code then reloads the main page, showing the new data.
It works great!
How are you reloading the page, e.g. window.location .reload(true) or
some other method?

But there's this other browser, "Internet Explorer", which I must
also support. The "slow /update.html" strategy *seems* to work until
I exit & reload the main page multiple times, without any changes
being detected in the data. If I do that, then the browser gets stuck.
"Exit & reload" - exit what, IE? Or do you just navigate elsewhere then
come back to the page? Or do you mean close the popup then open it again?

IE has some known memory issues, particularly in regard to closures. If
you show how you are calling the function that sends periodic requests
to the server, more help may be available.

Apparently IE doesn't terminate backgrounded JavaScript when you exit
the page that started it. For my applicatation, this means IE tries
to accumulate extra backgrounded "/update.html" requests each time
you exit & reload the main page. Also, it seems that IE only allows
about 6 TCP connection in total, so once it's accumulated 6
"/update.html" requests, it can't read anything else.
This may indicate a problem with cloures, but without seeing the code,
it's impossible to say. Guesses are possible but likely not helpful.
[...]
Is there some option that IE's JavaScript environment uses to indicate
whether backgrounded tasks should die when the page is unloaded?
Have you tried using XMLHttpRequest and script to update the page,
rather than using a reload? It is likely faster and the user won't be
bothered by the re-loads (flashing, trashing any updates in progress,
etc.). You may have to do more session management though, as a user
might be in the middle of updating an entry when you update it from
behind...

Is there a way to kill them on a document unload event, or some
similar event?


Try Richard Cornford's Finalizer:

<URL:http://www.litotes.dem on.co.uk/example_scripts/finalizer.html>

"Finalizer is a general function designed to arrange that a function
passed to it as an argument is executed during the onunload event in a
browser. Its primary purpose is to address the memory leak problem on IE
browsers but has been written to provide the facility cross-browser as
it may have other applications."
--
Rob
Jan 20 '06 #4
Steve Kirkendall wrote:
Thomas 'PointedEars' Lahn wrote:
Also note that your checks should be done with reasonable delay, so use
setTimeout/setInterval() with a timeout/interval length greater than 50
(ms; probably 5000 [5 s] is a nice value), and do not run it in a tight
loop.
There is no looping involved. Maybe I was too vague in describing my
application.

[asynchronous request] The JavaScript code in /sasked.html looks like
this...

var mygetsig = XmlHttp.create( );
mygetsig.open(" GET",
"/update.html?tim eout=600&before =today&after=to day&poolid=1", true);
mygetsig.onread ystatechange = function()
{
if (mygetsig.ready State == 4)
{
if (mygetsig.respo nseText != "")
{
location.reload ();
}
}
}
mygetsig.send(n ull);
[...]


OK, but the handler applies to but one request; HTTP is not stateful.
As you want to check for changes server-side and update automatically,
you will have to send that repeatedly, have you not? And probably
there is the problem.
When I said /update.html sends a "meaningles s response", I meant that it
sends back a normal HTTP 200 response containing a nicely formatted HTML
document


Wait a minute. The above looks like client-side code, so /update.html does
not send a response at all; it sends a request (to the server) or receives
a response (from the server). Are we talking about server-side XMLHTTP
scripting here?
PointedEars
Jan 20 '06 #5
Thomas 'PointedEars' Lahn wrote:
Steve Kirkendall wrote:
Thomas 'PointedEars' Lahn wrote:
Also note that your checks should be done with reasonable delay, so use
setTimeout/setInterval() with a timeout/interval length greater than 50
(ms; probably 5000 [5 s] is a nice value), and do not run it in a tight
loop.


There is no looping involved. Maybe I was too vague in describing my
application.

[asynchronous request] The JavaScript code in /sasked.html looks like
this...

var mygetsig = XmlHttp.create( );
mygetsig.open(" GET",
"/update.html?tim eout=600&before =today&after=to day&poolid=1", true);
mygetsig.onread ystatechange = function()
{
if (mygetsig.ready State == 4)
{
if (mygetsig.respo nseText != "")
{
location.reload ();
}
}
}
mygetsig.send(n ull);
[...]


OK, but the handler applies to but one request; HTTP is not stateful.
As you want to check for changes server-side and update automatically,
you will have to send that repeatedly, have you not? And probably
there is the problem.


The odd part here is that the /update.html request isn't instantaneous.
It keeps the connection open until something changes on the server,
which may take many minutes. The /sasked.html page uses the above
JavaScript code in the browser to submit a single /update.html request,
and reload the /sasked.html page when the /update.html request completes.

The reloaded /sasked.html page will have its own copy of the above
JavaScript, so it will begin a new /update.html request to wait for
the next change. I guess in that sense, /update.html will be sent
repeatedly.
When I said /update.html sends a "meaningles s response", I meant that it
sends back a normal HTTP 200 response containing a nicely formatted HTML
document


Wait a minute. The above looks like client-side code, so /update.html
does not send a response at all; it sends a request (to the server) or
receives a response (from the server). Are we talking about
server-side XMLHTTP scripting here?


The server is responsible for detecting changes. If you're curious,
it does this by maintaining a change log. When the /update.html request
is received, it waits for at least one record to be added to the log
that matches any parameters passed with the request. The server then
sends those records to the client and closes the connection.

For example, the /sasked.html page shows the schedule for a single
date, for a specific scheduling pool. It passes /update.html parameters
describing that date and pool, so that somebody looking at today's
schedule for pool#1 won't have their page refreshed when somebody
changes a different date, or a different pool. But as soon as somebody
changes today's pool#1 then /update.html will send back the change
log record, and /sasked.html will reload itself to show the altered
data.

And, really, that part works okay. Where I run into trouble is if
the user hits the "next day" button repeatedly. All non-IE browsers
terminate the /update.html request automatically, but IE keeps it
open. Each time the user hits the "next day" button, another
/update.html is opened until, rather quickly, IE hits a limit and
refuses to open any more connections, not even to load the next
/sasked.html page. It's stuck, totally unresponsive; even the "Stop"
toolbar button doesn't work.

Thanks again for taking time to help me with this.
Jan 20 '06 #6
RobG wrote:
Steve Kirkendall wrote:
I need a work-around for an IE limitation, regarding fetching HTTP
documents in the background. It takes a bit of explaining; please
be patient...

I'm working on an project that will run on an intranet. I need to
have pages be reloaded automatically when the data they reflect is
changed at the server. For Netscape/Mozilla/Firefox, I do this by
having the page use JavaScript to read a special "/update.html" URL
in the background. For this URL, the server doesn't return anything
until it detects a change in the data, at which point it sends a
meaningless response and closes the connection. The browser's
JavaScript code then reloads the main page, showing the new data.
It works great!
How are you reloading the page, e.g. window.location .reload(true) or
some other method?


Yes, location.reload (). I didn't know it accepted a Boolean flag though.
But there's this other browser, "Internet Explorer", which I must
also support. The "slow /update.html" strategy *seems* to work until
I exit & reload the main page multiple times, without any changes
being detected in the data. If I do that, then the browser gets stuck.


"Exit & reload" - exit what, IE? Or do you just navigate elsewhere then
come back to the page? Or do you mean close the popup then open it again?


For the main window, "exit & reload" basically means to resubmit the
same request, possibly with different parameters. I'm implementing a
scheduling system, in which /sasked.html shows a single day's schedule
for a particular scheduling pool. The page has a "next day" button to
increment the date. If the user hits "next day" repeatedly, then every
browser except IE works just fine, but IE gets stuck after about 6 clicks.
It goes completely unresponsive; even the "Stop" toolbar button doesn't
work. If I try to kill it with <Ctrl-Alt-Delete>, I get a warning that
it is "not responding".
IE has some known memory issues, particularly in regard to closures. If
you show how you are calling the function that sends periodic requests
to the server, more help may be available.

Apparently IE doesn't terminate backgrounded JavaScript when you exit
the page that started it. For my applicatation, this means IE tries
to accumulate extra backgrounded "/update.html" requests each time
you exit & reload the main page. Also, it seems that IE only allows
about 6 TCP connection in total, so once it's accumulated 6
"/update.html" requests, it can't read anything else.


This may indicate a problem with cloures, but without seeing the code,
it's impossible to say. Guesses are possible but likely not helpful.


Nothing fancy. Just use XmlHttpRequest (with a portability wrapper to
get around IE's ActiveX quirk). Each /sasked.html document loads
/update.html once, since it only needs to reload itself once.

var mygetsig = XmlHttp.create( );
mygetsig.open(" GET",
"/update.html?tim eout=600&before =%dflt_date;&af ter=%dflt_date; &poolid=&dlft_p oolid;",
true);
mygetsig.onread ystatechange = function()
{
if (mygetsig.ready State == 4)
{
if (mygetsig.respo nseText != "")
{
location.reload ();
}
}
}
mygetsig.send(n ull);
Is there some option that IE's JavaScript environment uses to indicate
whether backgrounded tasks should die when the page is unloaded?


Have you tried using XMLHttpRequest and script to update the page,
rather than using a reload? It is likely faster and the user won't be
bothered by the re-loads (flashing, trashing any updates in progress,
etc.). You may have to do more session management though, as a user
might be in the middle of updating an entry when you update it from
behind...


No, I haven't tried that. The /update.html request returns a list of
changes, but it doesn't return the complete details of every changed
timeslot in the schedule. (The /update.html file accesses a change log.
The log is intended to show the modification history of each appointment
in the schedule. So, for example, if an appointment is moved from 10am
to 11am, then it's appropriate to have one "move" record in the log, and
not a pair of "10am" and "11am" records.) This makes patchwork updating
of the page very difficult.

The /sasked.html page contains a link for each timeslot which brings
up a pop-up window for editing the timeslot's details. Very little
inputting is ever done directly on the /sasked.html page, so trashing
an update in progress isn't really an issue. And IE is the only
browser that flashes.

Someday, yeah, it'd be nice to parse the response of something like
/update.html and reconfigure the page contents without reloading it.
But that's a long way off.
Is there a way to kill them on a document unload event, or some
similar event?


Try Richard Cornford's Finalizer:

<URL:http://www.litotes.dem on.co.uk/example_scripts/finalizer.html>

"Finalizer is a general function designed to arrange that a function
passed to it as an argument is executed during the onunload event in a
browser. Its primary purpose is to address the memory leak problem on IE
browsers but has been written to provide the facility cross-browser as
it may have other applications."


How is this different from using <body onunload="..."> ? And what function
should I call to terminate an XmlHttpRequest that's in progress? Or do
I just need to clobber the <script> element that runs the request, to
work around IE's memory leak?

Hmm... This could be interesting. I still have questions but now I have
some new ideas to play with. Thanks for the response, and if you have
anything more to add, I'd be grateful for that too.
Jan 20 '06 #7
Steve Kirkendall wrote:
Thomas 'PointedEars' Lahn wrote:
Steve Kirkendall wrote:
[XMLHttpRequest code]
OK, but the handler applies to but one request; HTTP is not stateful.
As you want to check for changes server-side and update automatically,
you will have to send that repeatedly, have you not? And probably
there is the problem.


The odd part here is that the /update.html request isn't instantaneous.
It keeps the connection open until something changes on the server,
which may take many minutes. The /sasked.html page uses the above
JavaScript code in the browser to submit a single /update.html request,
and reload the /sasked.html page when the /update.html request completes.
[...]
And, really, that part works okay. Where I run into trouble is if
the user hits the "next day" button repeatedly. All non-IE browsers
terminate the /update.html request automatically,


I doubt that very much. It is more likely that the number of connections
is limited to a greater value there than it is in IE by default, and so it
takes more additional requests to reach that limit.
but IE keeps it open.
It is perfectly reasonable of IE or any HTTP client to open a new connection
for a new request and keep the previous one open instead until a response
is received for the last request submitted through it.
Each time the user hits the "next day" button, another
/update.html is opened until, rather quickly, IE hits a limit and
refuses to open any more connections, not even to load the next
/sasked.html page.
And it does so rightfully.
It's stuck, totally unresponsive; even the "Stop" toolbar button doesn't
work.


Your problem is not due to scripting but that you are trying to make HTTP
stateful, which it is not; hence the unreliable results produced.

You should use timeouts/intervals and proper status code responses instead
as I suggested above. This does not only produce reliable results with any
HTTP client but also reduces client, network, and server load a lot (which
probably was an important reason why HTTP was made a stateful protocol in
the first place).
HTH

PointedEars
Jan 20 '06 #8
Steve Kirkendall wrote:
Thomas 'PointedEars' Lahn wrote:
Steve Kirkendall wrote:
[XMLHttpRequest code]
OK, but the handler applies to but one request; HTTP is not stateful.
As you want to check for changes server-side and update automatically,
you will have to send that repeatedly, have you not? And probably
there is the problem.


The odd part here is that the /update.html request isn't instantaneous.
It keeps the connection open until something changes on the server,
which may take many minutes. The /sasked.html page uses the above
JavaScript code in the browser to submit a single /update.html request,
and reload the /sasked.html page when the /update.html request completes.
[...]
And, really, that part works okay. Where I run into trouble is if
the user hits the "next day" button repeatedly. All non-IE browsers
terminate the /update.html request automatically,


I doubt that very much. It is more likely that the number of connections
is limited to a greater value there than it is in IE by default, and so it
takes more additional requests to reach that limit.
but IE keeps it open.
It is perfectly reasonable of IE or any HTTP client to open a new connection
for a new request and keep the previous one open instead until a response
is received for the last request submitted through it.
Each time the user hits the "next day" button, another
/update.html is opened until, rather quickly, IE hits a limit and
refuses to open any more connections, not even to load the next
/sasked.html page.
And it does so rightfully.
It's stuck, totally unresponsive; even the "Stop" toolbar button doesn't
work.


Your problem is not due to scripting but that you are trying to make HTTP
stateful, which it is not; hence the unreliable results produced.

You should use timeouts/intervals and proper status code responses instead
as I suggested above. This does not only produce reliable results with any
HTTP client but also reduces client, network, and server load a lot (which
probably was an important reason why HTTP was made a non-stateful protocol
in
the first place).
HTH

PointedEars
Jan 20 '06 #9
On 2006-01-20, Steve Kirkendall <sk*********@ds l-only.net> wrote:
Thomas 'PointedEars' Lahn wrote:

And, really, that part works okay. Where I run into trouble is if
the user hits the "next day" button repeatedly. All non-IE browsers
terminate the /update.html request automatically, but IE keeps it
open. Each time the user hits the "next day" button, another
/update.html is opened until, rather quickly, IE hits a limit and
refuses to open any more connections, not even to load the next
/sasked.html page. It's stuck, totally unresponsive; even the "Stop"
toolbar button doesn't work.
could ypu put something ing the onclick of the "next day" button to fix that?
there's also document.onbefo reunload that could be used.

I'm not sure of the exact mechanics required to cancel a request.
there may be a "cancel" or "close" method.
Thanks again for taking time to help me with this.

--

Bye.
Jasen
Jan 21 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
2512
by: John Ramsden | last post by:
I have a PHP script that is run via a 'wget' command within an MS SQL trigger, and relies on accessing the database record updated by the SQL statement that triggered the script in the first place. For this reason, to avoid the script reading the old record or getting into a deadly embrace, it must "return" in order to complete the 'wget' command but then carry on and do the actual work required.
2
10468
by: Markus Mohr | last post by:
Hi, everyone, I have a special problem: For every monitor resolution in 200 pixel steps from 800 to 1600 pixels I have an image to be shown as centered background-image. Those images all have the same name and reside in the following physical path structure:
27
13571
by: Kevin Yu | last post by:
When I declare on HTML page <LINK href="mycss.css" type="text/css" rel=stylesheet /> .... <BODY class=myclass> in mycss.css BODY { FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Arial, Geneva; background-image: url(images/back.jpg); }
3
18841
by: MediaDesign | last post by:
so there's the problem: my text links have background images and when I put links around images on my page, they too get the background image treatment which I do not...I have tried several possible solutions and nothing has worked: my html code: <div class="borderCCC"> <div class="clients"><a href="../index.html"><img
7
5796
by: ryan.fairchild | last post by:
Ok I basically am creating a container for a bunch of other <div> tags. But I want to make four jpegs/gif/whatever that goes in each corner so they look rounded. I thought this is how I would do it but I could be wrong. body { background:#999 url("http://") no-repeat top left; background/* */:/**/url("http://") no-repeat top right; background: /**/url("http://") no-repeat top right;
11
3190
by: Konrad Den Ende | last post by:
I have a function returning a string but the problem is that the color of it is blue which suits me well for some pages but not for others. Is it possible to "feel" what the color of the background in the current document is and set the color of the output accordingly? The background will be an image, in most cases. -- Kindly Konrad
5
11084
by: proximus | last post by:
Hi, I am trying to change the background of table TD's. The problem is that I have no access to the HTML code. SO I am trying to alter this using Javascript/DOM in an external .js file. I have tried lot's of things and spent hours on this, I thought I might give it a try here. One of the TD's uses HTML to set the background, the other one uses CSS styling:
3
3229
by: Viken Karaguesian | last post by:
Hello all, I need somehelp with background tiling. I have a sneaking suspicion that what I want to do is not possible, but I'll ask anyway. :>) First some background: Here's the site in question: www.sayatnova.com (I'm sure many of you have seen this before as I've often asked for help). I've come a long way since I first created the site many moons ago and I'm trying to convert it to a (1) Table-less, (2) Frame-less and (3) Validated...
6
7224
by: Rob | last post by:
Hello, I'm sure this has come up before. I have need for a collection of all elements/objects in an HTML document that have any kind of an attribute (HTML or CSS) that is making use of a URL to display an image. document.images only seems to reference image tags. The collection needs to include background images, input type = image, image maps, css assigned background, etc. Honestly, I am probably not aware of all the possibilities...
0
8697
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8465
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7297
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6158
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5612
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4144
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4283
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2699
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1587
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.