|
Hi, I have a problem when loading an MDI child form. I have develop an application in vb2005. My windows application form was running fine from the past. But this morning when I try to load the form, its dipslay the following error:
System.InvalidOperationException was unhandled<br />
Message="An error occurred creating the form. See Exception.InnerException for details. The error is: Conversion from string "" to type 'Long' is not valid."<br />
Source="DIC Donor Database"<br />
StackTrace:<br />
at DIC_Donor_Database.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 190<br />
at DIC_Donor_Database.My.MyProject.MyForms.get_frmDelProgBud()<br />
at DIC_Donor_Database.mdiDonorDb.mnuDelProgBud_Click(Object sender, EventArgs e) in C:\Documents and Settings\roathkanel\My Documents\Visual Studio 2005\Projects\DIC Donor Database\DIC Donor Database\mdiDonorDb.vb:line 57<br />
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)<br />
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)<br />
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)<br />
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)<br />
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)<br />
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)<br />
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)<br />
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)<br />
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)<br />
at System.Windows.Forms.Control.WndProc(Message& m)<br />
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)<br />
at System.Windows.Forms.ToolStrip.WndProc(Message& m)<br />
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)<br />
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)<br />
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)<br />
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)<br />
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)<br />
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)<br />
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)<br />
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)<br />
at System.Windows.Forms.Application.Run(ApplicationContext context)<br />
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()<br />
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()<br />
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)<br />
at DIC_Donor_Database.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81<br />
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)<br />
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)<br />
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()<br />
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)<br />
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<br />
at System.Threading.ThreadHelper.ThreadStart()
Could anyone tell me what is the problem? And how could I solve the problem?
|
|
|
|
|
According to the error message it is a simple conversion error somewhere. Apparently some query or something, that runs in the load event of your form, is returning a null value, or an empty string. It should probably return a number.
The best thing to do is to run your app in debug mode, and set the break point at the load event of your app.
First thing that comes to mind however is that you need to check your data, or adapt a query with ISNULL() statements to return at least 0, because it has started throwing this error all of a sudden.
Good luck,
Johan
My advice is free, and you may get what you paid for.
|
|
|
|
|
The below is the code in the form load procedure:
' Clear information on the form.<br />
lblGovContPrevDb.Text = ""<br />
lblOwnConPrevDb.Text = ""<br />
lvwLG.Items.Clear()<br />
lblTotalLG.Text = "Total Loan:" & ControlChars.CrLf & "Total Grant:"<br />
' Disable the group of loan and grant.<br />
gpbLG.Enabled = False
I don't know what is cause the problem. Please help me to fine the soultion.
|
|
|
|
|
The error message contains this line:
mdiDonorDb.vb:line 57
You could turn on line numbering in your editor and check to see what code you can find at that position.
My advice is free, and you may get what you paid for.
|
|
|
|
|
Johan Hakkesteegt wrote: The error message contains this line:
mdiDonorDb.vb:line 57
The below is the code that I copy from my application.
Private Sub mnuDelProgBud_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuDelProgBud.Click<br />
<br />
frmDelProgBud.ShowDialog()<br />
<br />
End Sub
I couldn't find any solution. Please help me.
|
|
|
|
|
Did you try to run your app in debug mode, with the break point set at the first line in the load event of the form?
Does the app ever even get to the breakpoint?
My advice is free, and you may get what you paid for.
|
|
|
|
|
Johan Hakkesteegt wrote: Did you try to run your app in debug mode, with the break point set at the first line in the load event of the form?
Does the app ever even get to the breakpoint?
Yes, thank you for you advice. Now I found the problem that cause my system run incorrectly. Thank you very much for your help
|
|
|
|
|
I am having one query. I am having one parent folder which contains executable files and reports folder. i am having 6 databases by which each and every client will access the respective databases. Each client will access the same executables .The problem i am facing that if a client access the a report its report source is stored in the report 4.3. After sometime if another client access the same report it is showing the details of earlier accessed database. i want to change the report source.Please help me.
Sivaraman.
|
|
|
|
|
Dear friends,
When I make a tiff documents and print it with vb.net system.diagnosis.process and setting the verb as print, the spool size it huge.
I guess its the problem with the quality parameter. But how to overcome this?
Thanks,
|
|
|
|
|
Define "huge". Printing graphic images usually takes a ton of code in the printers language. Changing the quality of the printed image is not going change the size of the print job much.
|
|
|
|
|
Dear the total spool for 5 sum up to 5 mb becomes 150 mb when printing
with the other way..? how to decrease the colordepth to 1L?
|
|
|
|
|
Guy, you are leaving out so much information, it's impossible to tell you what's going on. How big is the image you're printing?? What format is it (BMP, GIF, TIFF, JPG, ...)?? What are it's dimensions and color depth?? What code are you using to print this image??
Changing the color depth has no effect unless you are saving the image to disk. Just adding the color depth parameter to an in-memory image has no effect on the image.
|
|
|
|
|
Sorry for those confusing and half looking posts.
Well I am usiing 1 bit depth images of size 11"*8.5" and of size around 10-50 kb and 200*200 dpi, ccit 4 compressioin.
Then i put one watermark on the first image and save to disk. (using canvas and the code abotve)
then all following images are taken in memory, put canvas and then joined to the first one to produce a multipage tiff.
The final tiff comes with 24L colordepth and size around 5mb (if has 5 images in it) and 96*96 dpi, lzw compression. And while spooling the size at the printer shows 152 mb.
|
|
|
|
|
And the code doing the printing?? What language is the printer driver using?? PCL, PostScript, ...???
|
|
|
|
|
I have been using only system.diagnosis.processinfo to print using verb = "print" and filename as argument. And tried this with two diffent printers and even with cutepdf and foxit pdf writer, but the same result.
|
|
|
|
|
Since you are not in control of the printing at all, there's nothing you can do to reduce the size of the job. From the sounds of it, the print driver is generating a bunch of printer language code for EACH PIXEL in the image. There's nothing you can do about it.
|
|
|
|
|
Dear Dave,
Would you please suggest me anyway out?
Or how to code for other printing system, but it should print file specified from network pc..
thanks,
|
|
|
|
|
Don't make me repeat myself. "There's nothing you can do about it!"
Sure, it may be a 96 dpi image on disk, but when it gets printed, it gets mapped to a 300, 600, or 1200, maybe even higher dpi image.
|
|
|
|
|
Finding all links absolute position X,Y relatively to the screen in VB6 WebBrowser
There is a Visual Basic 6 application with WebBrowser in it.
This application is about statistical information on what html tags were loaded, where they are being located - it's position X,Y
For example I want to find Document.getelementsbytagname("a") link and anchor position on the screen, how do I do it?
There is example in JS, that I could inject into webpage by scriptcontrol but could I do in in VB6 itself?
function getElementPosition(elemId)
{
var elem = document.getElementById(elemId);
var w = elem.offsetWidth;
var h = elem.offsetHeight;
var l = 0;
var t = 0;
while (elem)
{
l += elem.offsetLeft;
t += elem.offsetTop;
elem = elem.offsetParent;
}
return {"left":l, "top":t, "width": w, "height":h};
}
Trying by vb6 in webbrowser
Dim WithEvents doc As HTMLDocument
Dim elem As IHTMLElement
Set doc = ie.document
For x = 0 To doc.getElementsByTagName("a").length - 1
Set elem = doc.getElementsByTagName("a")(x)
I want convert this nonsense
'"-PParent=" & elem.offsetParent.offsetParent.tagName & "=" & elem.offsetParent.offsetParent.id & _
'"-3Parent=" & elem.offsetParent.offsetParent.offsetParent.tagName & _
'"-4Parent=" & elem.offsetParent.offsetParent.offsetParent.offsetParent.tagName & _
'"-4Parent=" & elem.offsetParent.offsetParent.offsetParent.offsetParent.id
To while loop, but I can't figure it out how
While (TypeOf elem Is IHTMLElement)
parentall = "-Parent Tag=" & elem.offsetParent.tagName & _
elem.id & ",l=" & elem.offsetLeft & ";t=" & elem.offsetTop & _
Set elem = elem.offsetParent
Wend
Next x
|
|
|
|
|
I created a button control (does not inherit button) and it is not rectangular. I have corners that can be curved. To draw the button, i create a path and fill it. I want to know if the user is clicking on the button, so i was wondering if there is a way to check if the path i created contains the pixel where the mouse is when the mouse clicks. I thought about checking for the color, but the button has a gradient and it has a border color as well as a different border color when the user hovers over the button, so i don't think this solution will work.
Would Anyone have an idea for me?
|
|
|
|
|
Create a second image the size of the button's rectangle with a background set to white. Draw the exact same button image into this second image, but draw everything in black. If you want to do a hit-test, check the color of the pixel in the second image, not on the visible button image. If the pixel is black, you've hit the button...
|
|
|
|
|
Did you look at GraphicsPath.IsVisible() ?
Luc Pattyn [Forum Guidelines] [My Articles]
this weeks tips:
- make Visual display line numbers: Tools/Options/TextEditor/...
- show exceptions with ToString() to see all information
- before you ask a question here, search CodeProject, then Google
|
|
|
|
|
What I am trying to do is imitate what I did for a web datagrid. The "Edit"/"Add" row had drop downs that would be populated so that the user could change a selection. What I would like is to somehow reproduce this in a Windows App so that I only have DataGridViewTextBoxColumns when the user is viewing the grid but once the user chooses to edit a row or add a row THEN I can replace the TextBoxColumns with ComboBoxColumns and fill them appropriately.
Is this possible without writing a custom DataGridView control? My drop downs are dependent upon the last chosen combobox selection.
CleaKO
"Now, a man would have opened both gates, driven through and not bothered to close either gate." - Marc Clifton (The Lounge)
|
|
|
|
|
Hi,
this is my code:
Try
Dim DbTest As SqlClient.SqlConnection
DbTest = New System.Data.SqlClient.SqlConnection("Data Source=(local)\SQL;Initial Catalog=testiranje123;Trusted_Connection=yes;Integrated Security=True;Asynchronous Processing=true")
DbTest.Open()
DbTest.Close()
Catch ex As SqlException
MsgBox("idemo dalje")
Catch ex As DataException
MsgBox("idemo dalje")
Catch ex As Exception
MsgBox("idemo dalje")
End Try
the connection string is wrong, i did this on purpose. So i can catch the exception and handle it and build a connection string change mechanism...
the exception is:
SqlException:
Cannot open database "testiranje123" requested by the login. The login failed.
Login failed for user 'test\test'.
There is no way I could catch the exception. I tried all kinds of catch exception handlers but no luck the exception just keeps showing up.
Please, if anybody knows the answer, it is urgent.
Thank you very much!
|
|
|
|
|
You mean that when you run that code the msgbox never appears? instead it stops at DbTest.Open with an exception?
|
|
|
|