|
Does VB have a max string length ? Perhaps you just think this is what you got b/c the debugger has a max string length ?
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Yes it is just the debugger that is truncating the string. I wrote the string to a file and debugged the sql in the query analyzer.
Thank you for the response
|
|
|
|
|
Dear all,
I have a problem with passing the return Boolean.This project is running with VB.NET 2003 with MySQL database. I'm using a Function to call a login verification as shown below:
Public Function FurtherUser_Authenticate() As Boolean
Dim FrmAuthen As New FrmAuthen
FrmAuthen.StartPosition = FormStartPosition.CenterScreen
FrmAuthen.Show()
End Function
And next I will prompup a form for the user to insert username and password for further verification. This will check
the user login name and password from MySQL database for verification. After success verification I would like to return
UserVerifySuccess = True to my function and the function will allowed the user to do some Setting on my window form application.
The following are the code for loading of the FormSetting which need a further user verification to login because of security issues
of the user:
Private Sub FrmSetting1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
blnMustAuthenticate = True
If blnMustAuthenticate Then
UserVerifySuccess = False
Me.Close()
Further_Authenticate()
If UserVerifySuccess = True Then
Me.Show()
End If
End If
End Sub
The code that used at FrmAuthen to check the user is allowed to do the setting is below:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, pass As String
Try
ObjComm = New OdbcCommand("SELECT POS_CASHIER.LocationCode, CashierID, CashierName, Pwd, IF(POS_CASHIER.IsActive=1 AND POS_CASHIERGROUP.IsActive, 1, 0) AS IsActive, CanChangePwd, POS_CASHIER.GroupID, GroupName, IsFullAccess FROM POS_CASHIER INNER JOIN POS_CASHIERGROUP ON POS_CASHIER.GROUPID = POS_CASHIERGROUP.GROUPID AND POS_CASHIER.LocationCode = POS_CASHIERGROUP.LocationCode WHERE CashierID='" & TextBox1.Text & " ' ", ObjConn)
ObjConn.Open()
ObjRead = ObjComm.ExecuteReader
If ObjRead.Read Then
pass = ObjRead.Item(3)
x = ObjRead.Item(8)
ObjConn.Close()
If TextBox2.Text = pass Then
If x = "1" Then
Me.Hide()
Return (UserVerifySuccess = True) ' << I need to return this to my function. Thank you~!
Else
ObjConn.Close()
MessageBox.Show("Sorry. You are not allowed to run this task.")
End If
Else
ObjConn.Close()
MessageBox.Show("Your password is invalid.")
End If
Else
ObjConn.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
ObjConn.Close()
End Try
End Sub
Thats all I need someone can give me a guide whats the problem with my code here? Anyone can give me some idea/solution?
Thanks for reading.
Regards
Drex
|
|
|
|
|
drexler_kk wrote: Public Function FurtherUser_Authenticate() As Boolean
Dim FrmAuthen As New FrmAuthen
FrmAuthen.StartPosition = FormStartPosition.CenterScreen
FrmAuthen.Show()End Function
Well, this is obviously a disaster. Notice how your code doesn't return anything at all ? It's a travesty that this compiles.
Also, when you call Show(), you get a modeless form. Your app has essentially shown a login form, but lost control of it at this point. It should use ShowDialog, then check the form to find out if login succeeded, and return a bool to indicate the result.
drexler_kk wrote: ObjComm = New OdbcCommand("SELECT POS_CASHIER.LocationCode, CashierID, CashierName,.....
First of all, read up on SQL injection. This code means I can erase your database, any time I like. Second, why is it all on one line ? I guess having a variable called TextBox1 is the point at which your code stands no chance of being readable, but still.....
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Hello Mr. Christian Graus,
I have try to change my code to the following:
Public Function FurtherUser_Authenticate(ByVal UserVerifySuccess As Boolean) As Boolean
Dim FrmAuthen As New FrmAuthen
FrmAuthen.StartPosition = FormStartPosition.CenterScreen
FrmAuthen.Show()
End Function
But I still found the error for my window frmSetting for the line of my function FurtherUser_Authenticate(). The error message appeared: Argument not specified for parameter 'UserVerifySuccess' of 'Public Function FurtherUser_Authenticate(UserVerifySuccess As Boolean As Boolean)'.
Beside,can you give me some exaple how should I solve this problem here?
|
|
|
|
|
|
I don't see why this is an issue. If it is, try using the RenderToImage method of the form, then print that bitmap
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
tnks for ur reply i get something to make my form as an image but a bout the link i didnt get!
tnk u so much and if it is possible for you plz help me more to how make my form as an image!
N.Asgari
|
|
|
|
|
It's actually called 'DrawToBitmap'
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
tnx christian it helps me a lot
N.Asgari
|
|
|
|
|
|
that was so complite tnks
N.Asgari
|
|
|
|
|
Don't use VB much, whats up with TrimEnd() in VB2008
Here is my code to trim a space " " from the end of a path read from a file.
readline = readline.TrimEnd(cchar(" "))
But it does NOT remove the SPACE?
Searched the web and this is supposed to work? What am I missing?
|
|
|
|
|
what is cchar ?
From the MSDN entry:
' Trim whitespaces by passing Nothing.
Dim trimmedWhiteSpace As String = pathWhitespace.TrimEnd(Nothing)
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Hi all:
Several years ago I wrote an application which used Powerpoint 11 Object
Library. Now I'd like to update the application for Office 2007 users.
While using PPT 12 Library works fine in the app for users with Office 2007,
those still using Office 2003 receive an error (because, of course, they have
an older version of PPT.)
There doesn't seem to be a a way to install both Object Libraries in my app. Do I need
to create an installer that determines which version of Office a user has then installs the
app containing the proper reference?
TIA for any help.
Norm
|
|
|
|
|
Dear all,
I have some difficulties with a marco in VBA.
I have an excel-sheet (excel 2000) including some figures. These figures should be send via email (in rich-text format). The difficulty here is that the following order needs to be followed.
1) First part of the excel-sheet should be included in the mail as "paste special ->microsoft excel-worksheet"
2) One empty row
3) Second part of the excel-sheet should be included in the mail as "paste special ->microsoft excel-worksheet"
4) One empty row
5) I have to add an attachment to the mail
The order is important due to the fact that some of the receivers will print the mail as it is and this in only possible when it will be send in
the above mentioned order.
Could somebody please assist?
Many thanks in advance.
Kind regards,
Sabrina
|
|
|
|
|
With a VB application with 32 groups each with 3 radio buttons and a check box. The form is drawn slowly and even more slow when a background images is placed on the form. This is at runtime.
Also during designtime the form is again drawn slowly; i.e. 1/2 second for each group box.
ARe there any settings that is causing a form refresh it seems for each control on the form!
Many thanks,
Andy.
|
|
|
|
|
are you using suspendlayout/resumelayout when placing controls on the form? stops the paint even until you resumelayout.
'Never argue with an idiot; they'll drag you down to their level and beat you with experience.' ~ anonymous
'Life's real failure is when you do not realize how close you were to success when you gave up.' ~ anonymous
|
|
|
|
|
i have application that works well as window app. i took some of the code to winservice it work. i now make the parameter to come from database. the service is running but does not send mail again
any solution pls
|
|
|
|
|
Please don't double post.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
sorry for double post. should i upload all the code. it doesnot trow any error. except that it does not send mail based on infornation from the database
|
|
|
|
|
I guess you are gong to debug it based on your latest post, so you should be able to locate the problem.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
I have encountered a very strange issue with .Net 2 Framework and my remoted object.
I have the code below that runs on a service. It first publishes the remote object and then if it was succesfull trys to connect to it.
Other clients connect afterwards but that beyond scope of issue
Private Sub LoadRemotingClient()
RMS.Debugger.AddMethodDebug()
' We Load The remoting Client within the server as this is faster overall
Dim objRemotingKaveManager As AVManager.IAvManager
Dim clientProvider As BinaryClientFormatterSinkProvider = New BinaryClientFormatterSinkProvider()
Dim serverProvider As BinaryServerFormatterSinkProvider = New BinaryServerFormatterSinkProvider()
Dim props As IDictionary = New Hashtable()
Try
serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
props("port") = 0
props("typeFilterLevel") = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
props("name") = System.Guid.NewGuid().ToString()
props("timeout") = 30
ClientChannel = New TcpChannel(props, clientProvider, serverProvider)
clientProvider = Nothing
serverProvider = Nothing
props = Nothing
RMS.Debugger.AddMessageDebug("Register Channel", RMS.Enumerators.Debugtype.Information)
ChannelServices.RegisterChannel(ClientChannel, True)
RMS.Debugger.AddMessageDebug("Start Call Activator", RMS.Enumerators.Debugtype.Information)
Dim RemotingServer As String = "tcp://" & RemotingServerName & ":" & RemotingPort.ToString & "/" & RemotingURL
objRemotingKaveManager = CType(Activator.GetObject(GetType(AVManager.AVManager), RemotingServer), IAvManager)
RMS.Debugger.AddMessageDebug("Done Call Activator", RMS.Enumerators.Debugtype.Information)
RMS.Debugger.AddMessageDebug("Start Call InterfaceRef", RMS.Enumerators.Debugtype.Information)
Try
Dim InterfaceRef As String = objRemotingKaveManager.WhatistheObjectHash
RMS.Debugger.AddMessageDebug("Remote Object Hash = " & InterfaceRef, RMS.Enumerators.Debugtype.ExtraInfo)
Catch ex As Exception
RMS.Debugger.AddMethodDebug(ex.Message, RMS.Enumerators.Debugtype.Critical)
End Try
RMS.Debugger.AddMessageDebug("Done Call InterfaceRef", RMS.Enumerators.Debugtype.Information)
Catch ex As Exception
' Connection failure
RMS.Debugger.AddMethodDebug(ex.Message)
End Try
objRemotingKaveManager = Nothing
End Sub
Private Sub LoadRemotingServer()
RMS.Debugger.AddMethodDebug()
Dim ServerLoaded As Boolean = False
Try
Dim clientProvider As BinaryClientFormatterSinkProvider = Nothing
Dim serverProvider As BinaryServerFormatterSinkProvider = New BinaryServerFormatterSinkProvider()
serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
Dim props As IDictionary = New Hashtable()
props("port") = AVSettings.RemotingPort
ServerChannel = New TcpChannel(props, clientProvider, serverProvider)
ChannelServices.RegisterChannel(ServerChannel, True)
RemotingServices.Marshal(objLocalKaveManager, AVSettings.RemotingURL)
ServerLoaded = True
RMS.Debugger.AddMessageDebug("Remoting Server Loaded")
Catch ex As Exception
RMS.Debugger.AddMethodDebug(ex.Message)
ServerLoaded = False
End Try
If ServerLoaded = True Then
LoadRemotingClient()
End If
End Sub
The code worked completly fine and executed in under 1 sec in all testing. Now the code is live and out there it is still functioning correctly apart from two laptops. Both are Dell D531's and belong to the same customer.
On both machines the code writes the line "Start Call InterfaceRef" to my debug routine and then stops. On one occation after just over 2 hours it reached "Done Call InterfaceRef" and continued without the remoted object. This was before the exception handling routine was added so assume it eventually timeout(dont have an exception at this time).
I have tried everything I can think of:
Remoting is all done across 127.0.0.1 the connection establishes fine (checked with sysinternals tcpview.exe if anyone interested).
The server responds via telnet on the port.
Tried different Ports 18437, 28437
Have booted the system in diagnostic mode to eliminate conflicts with other software/services
Changed the order of network adaptors
Added props("timeout") = 30 as part of testing to try to force a timeout. Seen reference to a timeout on tcp channel but not sure my usage is correct.
I am confident in the code itself but am out of ideas with regard to resolving the issue on these two machines and also without knowing the source of the issue that it may crop up else where as the product expands.
All help, ideas and even stupid suggestions greatfully recieved at this point as I am out of idea good or otherwise LOL.
Thanks
The Farsider
|
|
|
|
|
Are you able to download / install / operate the AVManager software on these two PC's that are acting up?
|
|
|
|
|
I have a class setup that sends an e-mail using SMTP. This class is setup to be used by other programs using it as a reference.
I have a program that creates a file and then calls this class to send the e-mail with the attachment. After the class sends the file and returns a boolean of True to tell the calling program it succeeded, the original program is supposed to delete the original file.
Unfortunately the calling program seems to still be holding onto the file. Below is snippits of the code from the e-mail class. How can I get this class to let go of any attachments that it works with? Everything is working fine, it sends the e-mail, etc, but won't let go.
...
Dim myAttachment As System.Net.Mail.Attachment = New System.Net.Mail.Attachment("c:\test.txt")
Message.Attachments.Add(myAttachment)
...
Dim SmtpMail As New SmtpClient
SmtpMail.Host = "SMTP.Mydomain.com"
SmtpMail.Credentials = New System.Net.NetworkCredential("myUsername", "myPassword")
SmtpMail.Send(Message)
Return True
I have a try catch that will send false if the e-mail fails.
I tried this code but it didn't seem to help:
SmtpMail = Nothing
Message = Nothing
Any help / suggestions are appreciated.
Lost in the vast sea of .NET
modified on Thursday, June 19, 2008 9:44 AM
|
|
|
|