|
He joined CP yesterday and posted two messages, both exactly the same. The contents of the message just describe a product, no real question was ever asked.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hello first of all its a SHE not a HE. Secondly is it so bad that a person shares a piece of information about a new product with others . If you dont find it interesting then its not my fault. But there are others who have been mailing me and want the link to the product they want to know about the new products in the market. Like it was mentioned in my thread the information was ONLY for SERIOUS programmers. So if you do not belong to this category then please IGNORE.
www.consigntech.com
|
|
|
|
|
I'm as SERIOUS as the next guy/gal. But instead of posting your AD in the Forums for free, why not SUPPORT this site and PAY to advertise on it, like other SERIOUS vendors.
[EDIT]
Opps! I forgot to include the link to the MediaKit[^]
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
A serious programmer is interested in the information, not where or why it is posted.
www.consigntech.com
|
|
|
|
|
Nobody I know likes Code Warrior.
Still coaxing software out of the can after all these years...
|
|
|
|
|
Hi,
I'm not ease with the multithreading and i have a lot of difficulties to understand how a program run with this kind of things.
What i want to do :
1- My class will be accessed by multi - threads and than thread safe
2- Allow a connect and disconnect and reconnect (the reconnect occurs only when the socket is closed by the remote host or an error occurs)
3- When a user want close the socket all tasks made by threads will stop (Race condition to avoid)
4- Will be Synchronous and very efficient.
My problems :
1- (See point 2 and 3 before)
a) We can imagine that a thread close the socket (user action) and at the same time i lost the connection and than my receive thread or send thread or both will raise an error or close event also. Than It could be occurs that the error or close event come from the application launch a reconnect but the user want to stop.
b) the user call a connect juste after an error occurs and the reconnect is started but not finished. We can imagine the connect from the user is managed before the reconnect or it won't be possible.
c) and all the others cases that i can't not yet imagine.
-->I think taht all these problems are caledl race condition
Please help me it's very important and very urgent.
PS : Sorry for my poor english but it's not my natural language. All advices on my coding are welcome:
The code is to large to be posted. If you think you can help me. Ask and i will send you the class that i made
|
|
|
|
|
I've got this cute little vbn ap I put together that I wanted to be able to run on someone else's PC. I tried to move a copy of the thing over there but it wouldn't recognize the file extensions.
I thought for certain that as long as someone had the .NET framework, they would be able to run an ap, but this does not seem to be the case.
Is there an easy way to use Visual Studio .NET to pack up an ap so it can be installed on a PC with just the Framework?
Still coaxing software out of the can after all these years...
|
|
|
|
|
tanstaafl28 wrote:
I tried to move a copy of the thing over there but it wouldn't recognize the file extensions.
Your (vbn == VB.NET right?) application should have a .exe extension. What are the extensions of the files you are copying?
tanstaafl28 wrote:
Is there an easy way to use Visual Studio .NET to pack up an ap so it can be installed on a PC with just the Framework?
Yes, you can add an installer project to your solution. Then tell the installer project what needs to be installed and build it. You will end up with some files that can be used to install and uninstall your application.
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
The Second EuroCPian Event will be in Brussels on the 4th of September
Can't manage to P/Invoke that Win32 API in .NET? Why not do interop the wiki way!
My Blog
|
|
|
|
|
I copied the entire folder containing the files because I wasn't sure which were required and which where not. As it turned out, the exe ran fine, it was just that none of the file extensions were recognized by the PC with just the Framework and SDK .
The price of making .NET so "universal" seems to be all these associated files. It seems that a self-extracting windows installer containing all the necessary files in a compressed format would be useful, (whether or not it is practical is another matter).
Still coaxing software out of the can after all these years...
|
|
|
|
|
Certain files, like source code files, debugging information files etc. don't have file associations with them on them if you just install the .NET Framework because there are part of the development environment which is not intended for deployment.
tanstaafl28 wrote:
The price of making .NET so "universal" seems to be all these associated files
It depends on what you are building. It is perfectly possible to build a fully featured application that just has one EXE file without anything else (other than the .NET Framework itself).
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
The Second EuroCPian Event will be in Brussels on the 4th of September
Can't manage to P/Invoke that Win32 API in .NET? Why not do interop the wiki way!
My Blog
|
|
|
|
|
So long as the target computer has the same version of the .NET Framework that you developed the app on and you copied over the .EXE and all of it's support files (.DLL's, .OCX's, .BMP's, .config, ...), it'll work. You might have other prerequisites, like updating MDAC on the target computer.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I suspected as much. I was able to get the ap to run just fine, but the file extensions are not recognized by the machine, even though I installed the framework and the SDK.
Still coaxing software out of the can after all these years...
|
|
|
|
|
What file extensions? You said that you copied the .EXE file over and it didn't run. What else from the 'bin' folder did you copy over? And what file(s) are you trying to open by double-clicking on them?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I'm not clicking on any of the file extensions. I just noticed that they all have that default "Windows doesn't know what kind of file this is" icon. I thought the framework would at least pass the associations on, but perhaps it is too compact to include them. The executable still executes however.
I copied over the entire bin because I was not certain which files I absolutely HAD to have in order for the executable to work.
Still coaxing software out of the can after all these years...
|
|
|
|
|
Ahh... That's because the .NET Framework doesn't register a handler for those extensions. Those are done by the Visual Studio IDE. The files you need are project dependant. You'll definately need the .EXE's and the .DLL's from the bin folder of your project...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
The ap in question is from Michael Halverson's Visual Basic Step-By-Step. It's the "Lucky 7" slot machine program.
Frankly, I would love to try using the installer option, but having little experience with it, I am uncertain as to how to properly configure it.
I would want for it to check and see if the user has the correct version of the framework installed, and if not, direct them to the URL to install it first.
From there, it would do what most Windows installers do- recommend a spot on the C drive, create the folder if none exists, ask the user if they want to view the "readme," and ask the user if he/she wants a shortcut on their desktop.
Of course I suppose it would also have to include an icon in the Start-->Programs, and an uninstaller tied into the Add/Remove programs as well.
I know enough to be dangerous, but not enough to accomplish all of this...yet.
Still coaxing software out of the can after all these years...
|
|
|
|
|
Thanks for friends that reply my post before....
I am binding a picture box to a path... It works fine if the path is valid. Problem comes when tha path is invalid or empty...
The code that is red highlighted is where the error come out..
Private Sub BindFields()
Try
Dim b As Binding = New Binding("Image", objDView, "CoverSample")
AddHandler b.Format, AddressOf MyPictureBox_FormatImage
[B]picBook.DataBindings.Add(b)[/B]
Catch ex As Exception
MsgBox(ex.Message, , "BindFields")
End Try
End Sub
Private Sub MyPictureBox_FormatImage(ByVal sender As Object, ByVal e As ConvertEventArgs)
Try
If Trim(e.Value.ToString) <> "" Then
Dim fi As New System.IO.FileInfo(e.Value.ToString)
If fi.Exists() Then
e.Value = Image.FromFile(e.Value.ToString)
isValidPath = True
End If
End If
Catch ex As Exception
MsgBox(ex.Message, , "MyPictureBox_FormatImage")
End Try
End Sub
Learning .NET
|
|
|
|
|
You didn't specify what the error was or where it occured. There was no highlighted text anywhere.
But, I see a problem with the way your trying to validate if a file exists or not. Check to see if the desired conversion if valid before you try and validate that the file is there, which could be done much simpler.
Private Sub MyPictureBox_FormatImage(ByVal sender As Object, ByVal e As ConvertEventArgs)
Try
' Check to see if this is a valid conversion.
If Not e.DesiredType Is GetType(Image) Then
MsgBox("FormatImage was called with the DesiredType of " & _
e.DesiredType.ToString, , "MyPictureBox_FormatImage")
Exit Sub
End If
' Check if the file exists (assumes "Imports System.IO").
' Uses the Static version of the Exists method.
Try
If Not File.Exists(e.Value.ToString) Then
MsgBox("File not found: " & e.Value.ToString, , "MyPictureBox_FormatImage")
Exit Sub
Else
' The file exists, try to create an Image object out of it.
e.Value = Image.FromFile(e.Value.ToString)
End If
Catch ex As Exception
MsgBox(ex.Message, , "MyPictureBox_FormatImage")
End Try
End Sub
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Private Sub BindFields()
Try
Dim b As Binding = New Binding("Image", objDView, "CoverSample")
AddHandler b.Format, AddressOf MyPictureBox_FormatImage
'This is the error since it binds to an empty path or invalid path
picBook.DataBindings.Add(b)
Catch ex As Exception
MsgBox(ex.Message, , "BindFields")
End Try
End Sub
Thanks for your reply
Learning .NET
|
|
|
|
|
OK. I've put together a quick Binding example. This code sits inside a form with a single PictureBox on it:
Imports System.IO
Imports System.Drawing
Public Class Form1
Inherits System.Windows.Forms.Form
' Windows Form Designer code not included...
Private myImage As myImageClass
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myImage = New myImageClass
myImage.Path = "D:\Pepper.JPG"
BindFields()
End Sub
Private Sub BindFields()
Try
Dim b As Binding = New Binding("Image", myImage, "Path")
AddHandler b.Format, AddressOf MyPictureBox_FormatImage
PictureBox1.DataBindings.Add(b)
Catch ex As Exception
MsgBox(ex.Message, , "BindFields")
End Try
End Sub
Private Sub MyPictureBox_FormatImage(ByVal sender As Object, ByVal e As ConvertEventArgs)
Try
' Check to see if this is a valid conversion.
If Not e.DesiredType Is GetType(Image) Then
MsgBox("FormatImage was called with the DesiredType of " & _
e.DesiredType.ToString, , "MyPictureBox_FormatImage")
Exit Sub
End If
' Check if the file exists (assumes "Imports System.IO").
' Uses the Static version of the Exists method.
Try
If Not File.Exists(e.Value.ToString) Then
MsgBox("File not found: " & e.Value.ToString, , "MyPictureBox_FormatImage")
Exit Sub
Else
' The file exists, try to create an Image object out of it.
e.Value = Image.FromFile(e.Value.ToString)
End If
Catch
End Try
Catch ex As Exception
MsgBox(ex.Message, , "MyPictureBox_FormatImage")
End Try
End Sub
End Class
Public Class myImageClass
Private m_Path As String = ""
Public Property Path() As String
Get
Return m_Path
End Get
Set(ByVal Value As String)
m_Path = Value
End Set
End Property
End Class
If the file doesn't exist, what you think should happen does. You'll get two MessageBox's, the first, from MyPictureBox_FormatImage , saying the File does not exist, and the second, from BindFields , saying Invalid cast from System.String to System.Drawing.Image. Since the file wasn't found, the Bind failed and was appropriately caught by the BindFields exception handler.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have tried your code, it can catch the exception. Two message box will display, but when i using your code in my app, it doesn't work. It only display, "File not found" message box. and then it will have an error in "PictureBox1.DataBindings.Add(b)" cause it bind to an empty path. This one doesn't display message box. The error is not caught although i have using try catch function between the "PictureBox1.DataBindings.Add(b)"
Why the code doesn't work for my app, but it works ok in your form?
Please share your idea.
Thanks a bunch...
Learning .NET
|
|
|
|
|
mythinky wrote:
Why the code doesn't work for my app, but it works ok in your form?
Because you can't just copy and paste my code into yours and expect it to work. The example is just that, an example. Your have to study it to see why it works, then go back over your code and make sure that your doing the same thing. You can adapt my code to yours, but you can't just copy and paste it.
Without seeing exactly what you've done, there is no way I can tell you why mine works and yours doesn't.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have tried your way you doing. Of course i don't copy and paste, cause it won't suitable for my app. The problem is binding to an empty path although i have catched the exception...
Thanks...
Learning .NET
|
|
|
|
|
You might want to double check your code in BindFields() . This is where the InvalidCastException is going to be thrown by the Bindings.Add() method and caught by your Try/Catch. If this code is not correct, you'll have a problem binding to an empty string.
I'd need to see your current code to see what you missed. There is no reason that that exception wouldn't be caught.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
This is part of the frmBookDetails class.
<background color="yellow">
Imports System.Data
Imports System.Data.OleDb
Imports System.DBNull
Imports System.IO
Imports System.Drawing
Public Class frmBookDetails
Inherits System.Windows.Forms.Form
Dim objConLib As OleDbConnection = New OleDbConnection(sConnectDBLib)
Dim objDAdp As OleDbDataAdapter
Dim objDSet As DataSet
Dim objDView As DataView
Dim objCMngr As CurrencyManager
Dim objDataAdp As OleDbDataAdapter
Dim objDataSet As DataSet
Dim response As MsgBoxResult
Dim isValidPath, isNeedToClose As Boolean
Dim isValidBookTitle, isValidBookAuthor, isValidPublisher, isValidYearPublished As Boolean
Dim isValidEdition, isValidCourseBook As Boolean
Dim isBookIDChanged, isBookTitleChanged, isBookAuthorChanged, isPublisherChanged, isYearPublishedChanged As Boolean
Dim isEditionChanged, isCourseBookChanged, isCategoryChanged As Boolean
Windows Form Designer Generated Code
Private Sub FillDataSetAndView()
Try
objDView = Nothing
objDSet = New DataSet()
objConLib.Open()
objDAdp = New OleDbDataAdapter()
objDAdp.SelectCommand = New OleDbCommand("[GETBOOKDETAILS]", objConLib)
objDAdp.SelectCommand.CommandType = CommandType.StoredProcedure
objDAdp.Fill(objDSet, "BOOKDETAILS")
objDView = New DataView(objDSet.Tables("BOOKDETAILS"))
objCMngr = CType(Me.BindingContext(objDView), CurrencyManager)
objCMngr.Position = objCMngr.Count - 1
objDataAdp = New OleDbDataAdapter()
objDataAdp.SelectCommand = New OleDbCommand("SELECT * FROM BOOKCATEGORY", objConLib)
objDataAdp.SelectCommand.CommandType = CommandType.Text
objConLib.Close()
objDSet = Nothing
Catch ex As Exception
MsgBox("Error: " & ex.Source & ": " & ex.Message, MsgBoxStyle.OKOnly, "FillDataSetAndView")
End Try
End Sub
Private Sub ClearBindFields()
txtBookID.DataBindings.Clear()
txtBookTitle.DataBindings.Clear()
txtBookAuthor.DataBindings.Clear()
txtCategory.DataBindings.Clear()
txtPublisher.DataBindings.Clear()
txtYearPublished.DataBindings.Clear()
txtEdition.DataBindings.Clear()
txtCourseBook.DataBindings.Clear()
txtOriginalOwned.DataBindings.Clear()
txtCopiesOwned.DataBindings.Clear()
txtCopiesLoan.DataBindings.Clear()
txtCopiesShelves.DataBindings.Clear()
txtCopiesSold.DataBindings.Clear()
picBook.DataBindings.Clear()
End Sub
Private Sub BindFields()
Try
txtBookID.DataBindings.Add("Text", objDView, "BookID")
txtBookTitle.DataBindings.Add("Text", objDView, "Title")
txtBookAuthor.DataBindings.Add("Text", objDView, "Author")
txtCategory.DataBindings.Add("Text", objDView, "Category")
'cmbCategory.DataBindings.Add("Text", objDView, "Category")
txtPublisher.DataBindings.Add("Text", objDView, "Publisher")
txtYearPublished.DataBindings.Add("Text", objDView, "YearLastPub")
txtEdition.DataBindings.Add("Text", objDView, "Edition")
txtCourseBook.DataBindings.Add("Text", objDView, "CourseBook")
txtOriginalOwned.DataBindings.Add("Text", objDView, "NoOriginalOwned")
txtCopiesOwned.DataBindings.Add("Text", objDView, "NoCopyOwned")
txtCopiesLoan.DataBindings.Add("Text", objDView, "NoCopyonLoan")
txtCopiesShelves.DataBindings.Add("Text", objDView, "NoCopyInShelves")
txtCopiesSold.DataBindings.Add("Text", objDView, "NoCopySoldorLost")
'Dim b As Binding = New Binding("Image", objDView, "CoverSample")
'AddHandler b.Format, AddressOf MyPictureBox_FormatImage
'picBook.DataBindings.Add(b)
Catch ex As InvalidCastException
MsgBox(ex.Message, , "BindFields")
End Try
End Sub
Private Sub MyPictureBox_FormatImage(ByVal sender As Object, ByVal e As ConvertEventArgs)
Try
' Check to see if this is a valid conversion.
If Not e.DesiredType Is GetType(Image) Then
MsgBox("FormatImage was called with the DesiredType of " & _
e.DesiredType.ToString, , "MyPictureBox_FormatImage")
Exit Sub
End If
' Check if the file exists (assumes "Imports System.IO").
' Uses the Static version of the Exists method.
Try
If Not File.Exists(e.Value.ToString) Then
MsgBox("File not found: " & e.Value.ToString, , "MyPictureBox_FormatImage")
Exit Sub
Else
' The file exists, try to create an Image object out of it.
e.Value = Image.FromFile(e.Value.ToString)
End If
Catch
End Try
Catch ex As Exception
MsgBox(ex.Message, , "MyPictureBox_FormatImage")
End Try
End Sub
Learning .NET
|
|
|
|
|