|
I only got broken links when I google "Web service toolkit for VS6.0" and searches on MSDN. Any clew why....?
_____________________________
...and justice for all
APe
|
|
|
|
|
Hi everyone,
I'm trying to debug an ActiveX dll that I wrote in VB that is being called from an ASP page. I set the break point in the VB IDE, and run the debug. The ASP page does not find the interface. If I do a make, and register the dll, the asp page executes the code from the dll, but I need to be able to debug it from the VB IDE. I have removed the registered dll from the registry. I also have full permission set up in the directory that contains the ActiveX project and the same permission set up on the directory that contains the ASP page.
I am running on WindowsXP Pro with all latest updates installed, and VB 6.0. If anyone could point me in the right direction I would be grateful.
Ed
|
|
|
|
|
(First time poster!)
Challenge:
Customer wants to trigger Outlook (default email client) from web page with pre-formatted message text, in order to use an Exchange Server Contact/Addresses (within a secure Domain).
We successfully used the standard "mailto:" approach, HOWEVER, the pre-formatted text can sometimes exceed the 'total' max length (which seems to be app 2000 characters - give or take a few for headers, etc).
Is there a way to get around the max length limitation? ... or any alternatives? (must be able to access Outlook Contact Addresses).
If anyone can meet this challenge, I'll definitely become a more frequent poster (and helper if ever I can!)
Thanx... Digmy (digmee)
|
|
|
|
|
|
Thanks for your interest in this one 'J'!
Still unresolved...
We are passing the emial text body as part of the "mailto:" ...
hlEMAIL.NavigateUrl = "mailto:?subject=" + sbSubject + "&body=" + sbTextBody.ToString();
where sbTextBody appears to have to be less than 1997 characters.
We have been researching the technical specs within the RFC's.
http://www.faqs.org/rfcs/rfc2821.html
It indicates:
2.1.1. Line Length Limits
There are two limits that this standard places on the number of
characters in a line. Each line of characters MUST be no more than
998 characters, and SHOULD be no more than 78 characters, excluding
the CRLF.
The 998 character limit is due to limitations in many implementations
which send, receive, or store Internet Message Format messages that
simply cannot handle more than 998 characters on a line. Receiving
implementations would do well to handle an arbitrarily large number
of characters in a line for robustness sake. However, there are so
many implementations which (in compliance with the transport
requirements of [RFC2821]) do not accept messages containing more
than 1000 character including the CR and LF per line, it is important
for implementations not to create such messages.
The more conservative 78 character recommendation is to accommodate
the many implementations of user interfaces that display these
messages which may truncate, or disastrously wrap, the display of
more than 78 characters per line, in spite of the fact that such
implementations are non-conformant to the intent of this
specification (and that of [RFC2821] if they actually cause
information to be lost). Again, even though this limitation is put on
messages, it is encumbant upon implementations which display messages
to handle an arbitrarily large number of characters in a line
(certainly at least up to the 998 character limit) for the sake of
robustness.
Another source (http://ftp.isi.edu/in-notes/rfc2368.txt)
indicates:
RFC 1738 requires that many characters in URLs be encoded. This
affects the mailto scheme for some common characters that might
appear in addresses, headers or message contents. One such character
is space (" ", ASCII hex 20). Note the examples above that use "%20"
for space in the message body. Also note that line breaks in the
body of a message MUST be encoded with "%0D%0A".
With all that, we thought we had it licked (each line break was followed by %0D%0A and no single 'subs string" was longer than 78). However, still, if the sum of the text body is > 1997, Outlook will not 'pop'.
Thank you for any help you can provide.
Digmy (aka Ray)
|
|
|
|
|
Ahhh...This is an interesting one. I realize you are using the mailto method to force an outlook window. Can I ask why you are forcing the client to use a third-party mail window like outlook as opposed to using an SMTP control inside of .NET? I mean, other than the address book reason...
|
|
|
|
|
Good question J!!! You're on the ball!
Originally, we did set up a full SMTP process for them, with some good bells and whistles enhancing the functionality. BUT! They wanted to be able to get to their Outlook Email Address Book (which is on their Domain, and available while the user is looged on to their PC). The customer is very LARGE... as in thousands of Email Addresses... they never want to duplicate/maintain an email address in (our) system inconjunction with the address book.
I researched alternatives, but .NET (C#) communications with Outlook appear to be intended for Server w/ it's own Outlook, and/or for Windows Forms (not Web Forms as we are using here).
That's the BIG picture!
Digmy (aka Ray)
|
|
|
|
|
Here is what I would do:
Make a combo box or whatever type of input you want based on an outlook control. Basically, dig up the list of contacts for the user before the form and make them the possible choices of the to address for coming smtp control.
One place you might want to look for how to create an outlook object in .NET is http://support.microsoft.com/?kbid=313787[^]
I saw an example of something like this a while ago. It was something like this:
Public Function GetItems(ByVal Item As ItemType) As DataTable
Dim ol As New Outlook.Application
Dim olns As Outlook.NameSpace
Dim cf As Outlook.MAPIFolder
Dim C As Outlook.ContactItem
Dim T As Outlook.TaskItem
Dim A As Outlook.AppointmentItem
Dim M As Outlook.MailItem
Dim objItems As Outlook.Items
Dim Prop As Outlook.UserProperty
I have no idea what kind of configurations need to be made to the server to allow this. I've never tried myself, but at least I know it is possible.
-Jim
|
|
|
|
|
Thanx Jim,
BUT! I have tried that, and I think it is tangled up in the Web Form vs Windows Form overlap. (I find the MS Docs don't always highlight the distinction, or make it obvious).
When attempting the above within C# Code Behind, it can't instantiate the Outlook Application (run time erorr). This is may be due to two things:
1) Outlook must be installed along with the Web Server (and would thus require a domain user login at the customer site)
or
2) This approach does not work with Web Forms.
It would be logical (to me) that under Windows Forms, the Client's Outlook would be what is referenced from the Code behind. I can't fiind MS docs which clarify that this is only for Windows forms or that the Outlook must be installed with the server as well!
In any case, I'm not sure a large address book (such as the custonmer has) would be practical within a web based application.
-Ray
|
|
|
|
|
Hi there,
My question has three parts:
1. How do you send an http post request from a Visual C++ (version 6) program?
2. How does a post request invoke a CGI script at a web site?
3. How can the C++ program obtain the response from the CGI script?
I can't seem to find documentation that explains these basic operations. If anyone could send me a link to an article that covers any of this, it would be appreciated.
Thanks!
Alan
|
|
|
|
|
I have many examples of how to bind a dropdownlist but NONE match the code that is generated in VS .NET. Since I am new to .NET and web programming I am having difficulty following the gerneated code. I am convinced my problem is in the way I am binding the data. The eror I get is
"Index 0 is not non-negative and below total rows count."
and it ocurs in the following line
DropDownList1.DataBind();
Here is some of the code. If you are intereseted in helping me I can post all of it.
private void Page_Load(object sender, System.EventArgs e)<br />
{<br />
if (!Page.IsPostBack) <br />
{<br />
BindListToDropDown();<br />
}<br />
}<br />
<br />
#region Web Form Designer generated code<br />
override protected void OnInit(EventArgs e)<br />
{<br />
InitializeComponent();<br />
base.OnInit(e);<br />
}<br />
<br />
private void InitializeComponent()<br />
{ <br />
this.oleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter();<br />
this.oleDbConnection1 = new System.Data.OleDb.OleDbConnection();<br />
this.dbListOfAirports1 = new dbListOfAirports();<br />
this.oleDbSelectCommand1 = new System.Data.OleDb.OleDbCommand();<br />
((System.ComponentModel.ISupportInitialize)(this.dbListOfAirports1)).BeginInit();<br />
this.DropDownList1.DataBinding += new System.EventHandler(this.Page_Load);<br />
this.oleDbDataAdapter1.SelectCommand = this.oleDbSelectCommand1;<br />
this.oleDbDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {<br />
new System.Data.Common.DataTableMapping("Table", "tblAirport", new System.Data.Common.DataColumnMapping[] {<br />
new System.Data.Common.DataColumnMapping("AirportCode", "AirportCode"),<br />
new System.Data.Common.DataColumnMapping("AirportID", "AirportID"),<br />
new System.Data.Common.DataColumnMapping("AirportName", "AirportName"),<br />
new System.Data.Common.DataColumnMapping("City", "City"),<br />
new System.Data.Common.DataColumnMapping("Latitude", "Latitude"),<br />
new System.Data.Common.DataColumnMapping("Longitude", "Longitude"),<br />
new System.Data.Common.DataColumnMapping("State", "State")})});<br />
this.oleDbConnection1.ConnectionString = @"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=0;Data Source=""D:\MGDevelopment\SIMDAC Viewer\DB\simdac_be.mdb"";Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1";<br />
this.dbListOfAirports1.DataSetName = "dbListOfAirports"; <br />
this.dbListOfAirports1.Locale = new System.Globalization.CultureInfo("en-US");<br />
this.oleDbSelectCommand1.CommandText = "SELECT AirportCode, AirportID, AirportName, City, Latitude, Longitude, State FROM" +<br />
" tblAirport";<br />
this.oleDbSelectCommand1.Connection = this.oleDbConnection1;<br />
((System.ComponentModel.ISupportInitialize)(this.dbListOfAirports1)).EndInit();<br />
<br />
}<br />
#endregion<br />
<br />
private void BindListToDropDown()<br />
{<br />
try <br />
{<br />
oleDbConnection1.Open();<br />
OleDbDataReader OleDbReader = this.oleDbSelectCommand1.ExecuteReader();<br />
DropDownList1.SelectedIndex=0;<br />
DropDownList1.DataSource=OleDbReader;<br />
DropDownList1.DataBind();<br />
<br />
}<br />
catch(OleDbException ex) <br />
{
Thanks in advance
Brian
|
|
|
|
|
Your code is all fine except that you can't set the SelectedIndex to 0. As far as I know that doesn't work. Comment out that line and I bet it will work. Your initial value then will be the first row in your table. Here is an example from some code that I had wrote a while back. Note this is NOT using Visual Studio to assist me:
public void buildlocation()
{
string ConnectionString = "yourconnection";
//Command String
string location_cmd = "yoursqlcommand";
SqlDataAdapter dataAdapter = new SqlDataAdapter(location_cmd, ConnectionString);
DataSet ds = new DataSet();
//Fill the datatable object
dataAdapter.Fill(ds,"yourtable");
location.DataSource = ds.Tables[0];
location.DataTextField = "location";
location.DataValueField = "location";
location.DataBind();
}
If you want to initialize a value other than a row in your table do this:
location.SelectedItem.Text = "Please Select a Location";
location.SelectedItem.Value = "select";
Hope that helps.
Scott Stocker
|
|
|
|
|
Thanks for the response. I took out the line in question. Still no binding. I added code to make sure that the datareader was in fact reading data. It was. I still get the following error
Index 0 is not non-negative and below total rows count.
Any more suggestions would be helpful.
|
|
|
|
|
In an aspx page I have inserted a menu header as user control, a datagrid with a select row column and two hidden text boxes to contain two fields of the table being accessed.
When the user selects a row in the datagrid the code behind stores two columns of the selected row in session variables ie row index and name. I then set the value of two textboxes within the form the second of which is set to autopostback.
On autopostback I want the session variables to populate two labels within the menu header control. However, these values both remain blank until I next select another row in the datagrid and the user control values are populated with the previous session variables.
It appears obvious that the postback is performed before the session variables are stored and therefore not being displayed in the user control form labels.
Is this the case and if so can I force the session variables to be saved first before the postback is performed.
Thanks
Sue
|
|
|
|
|
Does anyone here know about scrapper? How to use this guy in HTML coding coz I need to parse HTML content and extract data from it..?any help will be much appreciated!TQ!
mijan
|
|
|
|
|
I'm not quite sure but does anyone knows the term use to call this thing, it sounds like HTML 'scrap' or 'scrab' but i dono which one is correct. This thing will help identified any damages in our page. The code should resdies in HTML part.
mijan
|
|
|
|
|
I've been having a look at this example of doing http requests from the client side in IE / Firefox :
webpasties.com/xmlHttpRequest/ and it looks awesome.
However, I can't find any realworld examples of what you can do with the resultant xml.
Does anyone have examples of looping through an relatively simple XML file?
Cheers,
Simon
sig :: "Don't try to be like Jackie. There is only one Jackie.... Study computers instead.", Jackie Chan on career choices.
article :: animation mechanics in SVG blog:: brokenkeyboards "Most of us are programmers, but a few use VB", Christian Graus
|
|
|
|
|
I develop a page that get html content from an URL. For ex, from Yahoo search engine, I want to get the search result by request to the URL:
http://search.yahoo.com/search?p=codeproject&sm=Yahoo%21+Search&fr=FP-tab-web-t&toggle=1
But using frame is not allow here.
Before, I build an ASP page that using ASPTear.dll to get the html content then response.write to the client browser. And my server is overloaded
Now, I want the client browser request to that url and get the html content, not myserver. That's mean, the request come from client browser (by client-side scripting).
Help me please.
Thanks all of you.
|
|
|
|
|
Hi everyone,
Does anyone know of any good articles about the best arcitecture to set up a simple 3-tier (UI, Biz, Data Access) for an asp.net web application. And most importantly - the communication between the tiers.
I've been talking to myself for a few days now, and I still can't decide the best approach.
For example - what if something goes wrong when trying to retreive data from a DB, I don't want to rely on exceptions as it slows down execution. In the past I've created a class that holds the information from the query to the DB, which has an error object, which will tell you if the operation was succesfull.
However, it wasn't a very 'clean' approach.
Anyone got any 'clean arcitecture' articles??!
Cheers
Dan F.
|
|
|
|
|
In general the communication can be summarised as follows. The upper teir (UI on top, then Business, then Data on the bottom) can call into the teir below. If the lower teir below needs to communicate upwards then use events so that the coupling between layers is reduced. i.e. the lower teir exposes a number of events which it fires and the upper teir subscribes to those events. For a good example look at the way events are used in the UI layer so that Microsoft don't need to know anything about your code in order for their UI code to invoke your methods.
Daniel Fowler wrote:
I don't want to rely on exceptions as it slows down execution
What is an exception for? It is for when something exceptional happens. If you expect that the database isn't going to be there then you should test for that in advance. If a missing database is really a very rare and totally exceptional thing to happen then you should use exceptions. Don't use the tired argument that exceptions are slow to avoid them. Yes, exceptions are slow - but then the circumstances in which they are thrown are exceptional and should not happen often. If your code is throwning many exceptions a second then I would say that your code is wrong. If it throws an exception only occasionally then it sounds as if it is going great (assuming that you are catching and handling the exception).
Daniel Fowler wrote:
In the past I've created a class that holds the information from the query to the DB, which has an error object, which will tell you if the operation was succesfull.
And how did the database communicate a failure? Most likely it threw an exception. In which case just let up bubble up to where it can be handled most efficiently.
My: Blog | Photos | Next SQL Presentation
WDevs.com - Open Source Code Hosting, Blogs, FTP, Mail and More
|
|
|
|
|
Hi Colin
Thanks for the input, much appreaciated.
Dan F
|
|
|
|
|
I have a problem with sizing tables on a web page. I need to make the table height = 100% so that the bottom row always appears on the bottom edge of the page. However, if I use the attribute is ignored.
If I use it renders correctly both in IE and firefox. But according to the w3.org validator this is not valid HTML (there is no attribute "HEIGHT").
|
|
|
|
|
|
Ah, finally figured it out. The problem in with standards complient mode the page doesn't fill 100% of the window, so you need to do this in the style sheet:
body {
height:100%;
}
html{
height:100%;
}
|
|
|
|
|
hai
I draw the curve and line using vml & javascript and implemented in IE 6.0.
In my program I have a textbox and command button.suppose I want to draw a curve,write "curve" in textbox and javascript draws a curve using vmltags.
first I gave the input in textbox "curve",the figure appeared.then second I gave "line",but in this time,the line appeared with the curve.I need
line only.problem is refreshing...I don't know how to refresh?
help me
|
|
|
|
|