|
Hi Ian, I think I sussed out the delegate thing. I ended up with this:
Dim callback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
and
Public Function ThumbnailCallback() As Boolean
Return False
End Function
so my getthumbnailimage call looks like this now - but the error still occurs.
destBitmap = sourceBitmap.GetThumbnailImage(imgWidth, imgHeight, callback, IntPtr.Zero)
Looking at the list of errors there is one 'out of memory', then two 'Parameter is not valid' and then the rest are 'Out of Memory'.
I don't know where this 'Parameter is not valid' is coming from so I shall try and single step the whole thing (after the first error)
|
|
|
|
|
It is this line
sourceBitmap = New Bitmap(Image.FromFile(ImagePathName))
This causes the Out Of Memory errors and the Parameter is not valid. When I get the parameter error, the file name is a valid existing file name and is a graphic. If I wait two minutes and then complete the list it works, in other words the file that seemed to cause an error, and all the subsequent files in the list, go through OK.
|
|
|
|
|
TheComputerMan wrote: sourceBitmap = New Bitmap(Image.FromFile(ImagePathName))
that is bad code! Image has a Dispose() method, so you should call it; by having two operations in one line, you don't have the first image reference and can't call Dispose. Split it into two statements, and dispose.
BTW: If the copy is there to avoid file lock problems, the cheaper solution is to use Image.FromStream, like so (using C# syntax):
stream=File.OpenRead(ImagePathName));
Bitmap bm=Image.FromStream(stream);
stream.Dispose();
Luc Pattyn
Have a look at my entry for the lean-and-mean competition; please provide comments, feedback, discussion, and don’t forget to vote for it! Thank you.
Local announcement (Antwerp region): Lange Wapper? Neen!
|
|
|
|
|
Hi Luc, yes the stream thingy sorted it. I replied this to you on the other bit of the thread. Thanks for all your help.
|
|
|
|
|
Hi Ian, thanks for your assistance. I resolved it!!!! See my reply to Luc
|
|
|
|
|
TheComputerMan wrote: This code is stupid: whatever goes wrong you choose to just ignore it; and then wonder what is going wrong and post a question here?
1. A completely erroneous assumption
No, it's not erroneous. You said you know what THE (assuming one) exception is, but you chose to capture ALL exceptions and eat them. Catch the ONE exception you know is going to come and handle it appropriately, log all the rest so you can see any other errors that show up.
TheComputerMan wrote: 3. Is it useless??? Are you sure about that. I have experience of it kicking off the garbage collector in another app which was not kicking off after a dispose was performed
The garbage collector doesn't wait for you app to pause. It'll pause your app for you and run when it needs to. Just throwing a sleep in doesn't kick off nor does it allow to run the GC. The GC runs when it wants to, regardless of what your app says. If you're doing this to "get the GC to run", you've got another problem in your code that this code just happens to work around. I really wouldn't call it a production quality fix.
|
|
|
|
|
Hi,
Is there any way to trap all the events, function/procedure calls fired and log it without modifying code for each function/event.
Regards,
Praveen
|
|
|
|
|
Nope. What are you trying to accomplish with this?
|
|
|
|
|
In my client places, a record is missing occassionally and we could not reproduce it in our systems. I would like to track the events/function calls in the client's place with event log.
|
|
|
|
|
Then you're going to have to instrument the code to log what you want. There's no real way to do it without changing the code.
|
|
|
|
|
I want something that is similar to vb code profiler which takes exe instead of .vbp and log the events.
|
|
|
|
|
Seeing as VB6 is a dead language, support for it is getting more and more sparse. Try looking through this[^] list for some options.
Good luck with that!
|
|
|
|
|
Hi,
I'm having problems adding multiple rows to a DataGridView, on the Load-event of a Windows Application Form.
Adding one record doesn't cause a problem, but when adding the second record (using the identical code), an Exception is thrown.
Here's my code so far (VB.NET 2008):
Private Sub BWMFPForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dgvRow As New DataGridViewRow
Dim dgvCell As DataGridViewCell
Dim dgvButton As DataGridViewImageColumn
Dim column As DataGridViewColumn
'Disable sorting for all Columns
For Each column In DataGridViewBrochures.Columns
column.SortMode = DataGridViewColumnSortMode.NotSortable
Next
'Add Record
'Column 1: Machine
dgvCell = New DataGridViewTextBoxCell()
dgvCell.Value = "Aficio MP 4000 / Aficio MP 5000"
dgvRow.Cells.Add(dgvCell)
'Column 2: Speed
dgvCell = New DataGridViewTextBoxCell()
dgvCell.Value = "40 PPM / 50 PPM"
dgvRow.Cells.Add(dgvCell)
'Column 3: Language
dgvCell = New DataGridViewTextBoxCell()
dgvCell.Value = "Nederlands"
dgvRow.Cells.Add(dgvCell)
'Column 4: Image Print
dgvButton = New DataGridViewImageColumn
dgvButton.Image = Drawing.Image.FromFile("D:\DEVPROJECTS\MarketingTouchScreen\TouchScreen\images\Print_Icon.jpg")
dgvButton.ReadOnly = True
dgvButton.ImageLayout = DataGridViewImageCellLayout.Normal
DataGridViewBrochures.Columns.Add(dgvButton)
'Add the Row
DataGridViewBrochures.Rows.Add(dgvRow)
'Add Record
'Column 1: Machine
dgvCell = New DataGridViewTextBoxCell()
dgvCell.Value = "Aficio MP 4000 / Aficio MP 5000"
dgvRow.Cells.Add(dgvCell)
'Column 2: Speed
dgvCell = New DataGridViewTextBoxCell()
dgvCell.Value = "40 PPM / 50 PPM"
dgvRow.Cells.Add(dgvCell)
'Column 3: Language
dgvCell = New DataGridViewTextBoxCell()
dgvCell.Value = "Nederlands"
dgvRow.Cells.Add(dgvCell)
'Column 4: Image Print
dgvButton = New DataGridViewImageColumn
dgvButton.Image = Drawing.Image.FromFile("D:\DEVPROJECTS\MarketingTouchScreen\TouchScreen\images\Print_Icon.jpg")
dgvButton.ReadOnly = True
dgvButton.ImageLayout = DataGridViewImageCellLayout.Normal
DataGridViewBrochures.Columns.Add(dgvButton)
'Add the Row
DataGridViewBrochures.Rows.Add(dgvRow)
End Sub
Anyone can help me here?
Kindly Yours
|
|
|
|
|
When adding your second record you are still using the same DataGridViewRow as for the first record. You will need to use the new keyword on dgvRow before adding cells to it.
Also, in future it is helpful if you include any error messages in your post
|
|
|
|
|
Hi Liqz,
Thanks!
That did the trick.
I'll keep in mind that next time, I'll include the error message.
Cheers.
|
|
|
|
|
You're welcome
|
|
|
|
|
For future reference, adding the text of the exception is always helpful. However from you're code I'm guessing it's something like "...row already exists in grid." ...or something like that. You're adding the same row object to the grid twice. You need a new row object the second time around. Otherwise all you are doing is updating the data in the first row you added.
Hope this helps.
|
|
|
|
|
Hi Experts,
I am trying to create an application that can Execute an C Program in VB.Net.
Can anybody please help me.
Regards,
Sheetal
|
|
|
|
|
paya1pa wrote: I am trying to create an application that can Execute an C Program in VB.Net.
If that means that you are trying to execute a compiled C Program, then look at the documentation for the Process class.
If not, then you need to explain your question more clearly.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
hi expert i revieced your message
firstly thanks to your reply and i can try explain my question.
i want to make one project and project is c prgramme ran in vb.net 2005
ex. suppose i write one addtion programme of two number so vb,net complile this programe and show error in textbox or messagebox.just like a c language software. but everythisk is run in vb.net 2005
please give me a reply
|
|
|
|
|
paya1pa wrote: i want to make one project and project is c prgramme ran in vb.net 2005
Rather obviously, VB.Net cannot compile 'C' code.
paya1pa wrote: ex. suppose i write one addtion programme of two number so vb,net complile this programe and show error in textbox or messagebox.just like a c language software. but everythisk is run in vb.net 2005
If you want to write a simple program to add two numbers, then I would suggest that you either buy a beginners book and work through the examples, or search with Google or Bing for vb.net beginners ebook and you might find a suitable free tutorial.
Other than that I am unable to help.
Good Luck.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
So do you want to write your own C compiler or use a third party command line compiler, or what?
|
|
|
|
|
thanks experts i think can't explain my querry
i want complie c proramme in vb.net 2005 whatever.
output display in textbox
|
|
|
|
|
If you can't communicate your apps specifications, you're not going to get any meaningful answers.
What you have posted has a lot of different answers, and each of those opens up more and more questions.
Sorry, but it is VERY true that the quality of the answer you get is directly dictated by the quality of the question.
|
|
|
|
|
Hello to everyone,
I want to implement voice recognition feature in my application. I need to recognize couple of words and then open the recognized application(i.e. word, excel, etc.). I really new to it, so help me out.
Thank you in advance.
|
|
|
|