|
|
You're not calling it the same way as the C# code. Without knowing anything about what W is, the equivalent code would be:
Dim Block As String = "AAAAAAAAAA"
Dim a As String = "99999999"
Dim m As String = "3333"
Dim a As String = "77"
Dim u As String = "07"
Dim v As String = "00"
Dim result As byte() = W(
SoapHexBinary.Parse(a).Value,
SoapHexBinary.Parse(m).Value,
SoapHexBinary.Parse(v).Value(0),
SoapHexBinary.Parse(u).Value(0),
SoapHexBinary.Parse(c).Value(0),
SoapHexBinary.Parse(Block).Value
)
modified 19-Dec-14 8:12am.
|
|
|
|
|
Thanks Dave,
W is like below
Public Shared Function W(a() As Byte, m() A s Byte, v As Byte, u As Byte, u As Byte, block() As Byte) As Byte()
It seems to been accepted now exectp getting an error on the
SoapHexBinary.Parse(c).Value[0] param
where 'an identificator is needed for 0'
|
|
|
|
|
Whoops. I forgot to change the square brackets to parenthesis.
|
|
|
|
|
so it's SoapHexBinary.Parse(c).Value(0)
right, you got it, this seems solved.
But now VB.NET is arguing about
a, m and Block...
Dim result As Byte() = W(SoapHexBinary.Parse(a), SoapHexBinary.Parse(m), SoapHexBinary.Parse(v).Value(0), SoapHexBinary.Parse(u).Value(0), SoapHexBinary.Parse(n).Value(0), SoapHexBinary.Parse(Block))
(translated)
Can't convert the type value 'System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary' into a 1 byte dimension matrix.
Hope you can help again.
Thks
Seppax
|
|
|
|
|
Solved.... had it under the eyes for the whole time...
a, m and Block misse the .Value property!
Dim result As Byte() = W(SoapHexBinary.Parse(a).value, SoapHexBinary.Parse(m).value, SoapHexBinary.Parse(v).Value(0), SoapHexBinary.Parse(u).Value(0), SoapHexBinary.Parse(n).Value(0), SoapHexBinary.Parse(Block).value)
|
|
|
|
|
When i chose a file to up load it says
Object reference not set to an instance of an object. .
protected void DocumentUpload_OnFileUploadComplete(object sender, FileUploadCompleteEventArgs e)
{
if (!e.UploadedFile.IsValid) return;
GridViewDetailRowTemplateContainer container = ((Control)sender).NamingContainer as GridViewDetailRowTemplateContainer;
Int32 index = container.VisibleIndex;
var orderId = Convert.ToInt32(ViewOrdersGridView.GetRowValues(index, ViewOrdersGridView.KeyFieldName));
var fileNumber = ViewOrdersGridView.GetRowValues(index, ElsaConstants.FileNumber).ToString();
var userId = Convert.ToInt32(Session[ElsaConstants.UserId]);
string directory = ConfigurationManager.AppSettings[ElsaConstants.UploadDirectory];
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
string fileType = Path.GetExtension(e.UploadedFile.FileName);
string fileName = e.UploadedFile.FileName.Replace(fileType, string.Format("_{0}{1}", fileNumber, fileType));
string resultFilePath = directory + fileName;
e.UploadedFile.SaveAs(resultFilePath, true);
using (var context = new ELSAEntities())
{
var document = new Document
{
OrderId = orderId,
DocumentPath = fileName,
DateCreated = DateTime.Now,
CreatedBy = userId
};
context.Document.Add(document);
context.SaveChanges();
}
}
modified 18-Dec-14 12:16pm.
|
|
|
|
|
That's a code dump: and it's both rude and unhelpful.
It's rude because it says "I'm too lazy to work out what info you need: my time is far more important than yours"
It's unhelpful because it doesn't tell us anything about where the error is: we need to know which line is finding the error before we get any idea as to what might be causing it.
So edit your question, remove everything except the relevant code fragment, and tell us which line the error is on.
Help us to help you! Would you want to wade through a pile of uncommented code trying to work out where a problem could possibly be?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Better!
Now - which line is throwing the exception?
There are still lots of potential candidates, and we can't run your code - so we only get exactly what you tell us to work from.
The original error that you got the message from will specify the file and line number in the file.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
its this line
Int32 index = container.VisibleIndex;
vs breaks at this point
|
|
|
|
|
So container is null .
This could be either:
((Control)sender).NamingContainer is null
or
it is not a GridViewDetailRowTemplateContainer so the as is returning null
Either way, use the debugger to check which of these is the case.
A positive attitude may not solve every problem, but it will annoy enough people to be worth the effort.
|
|
|
|
|
does this help
System.NullReferenceException was unhandled by user code
HResult=-2147467261
Message=Object reference not set to an instance of an object.
Source=ELSA
StackTrace:
at ELSA.Controls.MyOrders.DocumentUpload_OnFileUploadComplete(Object sender, FileUploadCompleteEventArgs e) in c:\Development\KTech\Code\Elsa\ELSA\Controls\MyOrders.ascx.cs:line 168
at DevExpress.Web.ASPxUploadControl.ASPxUploadControl.OnFileUploadComplete(FileUploadCompleteEventArgs e)
at DevExpress.Web.ASPxUploadControl.ASPxUploadControl.RaiseFileUploadComplete(UploadedFile uploadedFile, String& errorText, String& callbackData)
at DevExpress.Web.ASPxUploadControl.ASPxUploadControl.Validate()
InnerException:
|
|
|
|
|
Not much, but probably that tells us what the problem is - or what you should be looking at.
If the error occurs in this line:
Int32 index = container.VisibleIndex;
The the error (as Matt says) is that container is null.
And from the previous line:
GridViewDetailRowTemplateContainer container = ((Control)sender).NamingContainer as GridViewDetailRowTemplateContainer;
combined with the method signature:
protected void DocumentUpload_OnFileUploadComplete(object sender, FileUploadCompleteEventArgs e) The problem is probably that the sender is a FileUpload Control (or it wouldn't have an OnFileUploadComplete) and that it isn;t contained within GridviewDetailRowTemplateContainer - it's more likely to be in a grid view cell or similar.
So, put a breakpoint on the line:
GridViewDetailRowTemplateContainer container = ((Control)sender).NamingContainer as GridViewDetailRowTemplateContainer;
And look at exactly what sender is, and what it's NamingContainer is.
(It might help if you break it out first and examine each part in turn.)
Control c = (Control)sender);
Object o = c.NamingContainer;
GridViewDetailRowTemplateContainer container = o as GridViewDetailRowTemplateContainer;
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
this is the sender
sender {DevExpress.Web.ASPxUploadControl.ASPxUploadControl} object {DevExpress.Web.ASPxUploadControl.ASPxUploadControl}
|
|
|
|
|
Yes, but it's the container that is getting null - the sender can't be null as it's the class instance that raised the event.
Use the debugger!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I am, Im a DBA so I dont know much about this, long story short we hired a programmer and he jump ship on us, so my boss ask me to fix it. I bought Dev express used project converter 14.1. I fixed all the database stuff and i lil code things. th is the last part I need to get working. How should i use the debug it just breaks at the same line>
|
|
|
|
|
It's really easy to do, but it takes a lot of explaining to find the simple way (one click!) if you can't see the screen.
So, we'll do it the slow way, and that'll show you the quick way.
Look at the source, and click on the line you want the breakpoint on:
GridViewDetailRowTemplateContainer container = ((Control)sender).NamingContainer as GridViewDetailRowTemplateContainer;
Look on the menu bar, under "Debug" - select "Toggle Breakpoint" (and it probably has a short cut key, most likely F9, but it doesn't have to be) and look at what happenes to the left hand side of the source code line you clicked on. See the "Red Dot"? That's a breakpoint, and the debugger will stop immediately before it executes that line. Click on the dot, and it goes away.
Now click on where the dot was, and it comes back - that's the quickest way to set or remove a breakpoint: just click on that vertical column, and it'll toggle a breakpoint there.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I understand that, my issue is when i breaks what am I looking for?
|
|
|
|
|
Start by looking at sender - what type is it? Which control is it?
Then look at it's NamingContainer is it a GridViewDetailRowTemplateContainer?
If it isn't, then the end result will be null - and you need to look at exactly what it is to find out what the as part should be.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
it is a GridViewDetailRowTemplateContainer
|
|
|
|
|
The sender is not a Control so you get a null value. Inspect the content of the sender object and match the type in your boxing.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Are you sure Mycroft? If sender is not a control, but is not null then the (Control) cast will give an InvalidCastException rather than return a null value.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I'm pretty sure, I'd have to test it but I seem to remember the tedious null checking I have to do every time I try to unbox from a UI/sender to a type in WPF.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
I tried the code but when a click the button, it
displays an error that Index and length must
refer to a location within the string. Parameter
name: length
|
|
|
|
|
We can't see your screen, access your hard-drive, or read your mind.
Edit your question to post the relevant code and the exact error message, and to indicate the line in the code which produces the error.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|