|
Your using terminology that doesn't mean what you think it does, so your post is a bit confusing. For example, "This is where I obtain my class definition". "class definition" is the actual Class myClassName block, not creating an instance of a class, which is normally refered to as an "Object".
If these snippets are not edited to remove what you think is irrelevent code to this problem, it's amazing this code ever worked at all.
Your GetCR method (terrible name by the way), shows that it should be returning either an object of type iCR or one that implements a possible iCR interface. There isn't enough codce snippet to be sure either way. But the method has no return statement in it, so it's always returning null.
Also, what is the value of type that you're passing in?? Is it really CRType.CR5?? If you're wrong, the method will, again, return null.
Oh! When asking questions about your own code, a copy'n'paste or the error message as well as the stack trace would be very helpful.
As of right now, it's impossible to know for sure what your problem is as there is insufficient detail. So, put a breakpoint on the line that throws the error and run your app. When the code stops, hit F11 to step into the next line of code and watch the execution and explore the contents of variables to see if the code is really doing what you think it should be doing. Chances are really good it'll show YOU that you're making incorrect assumptions about the execution of your own code.
Instead of guessing at what the problem might be, you better prove to yourself that it is indeed the problem by stepping through the code as outlined above. Oh, and learn to read the stack trace! These are critical skills you must have in order to write code.
|
|
|
|
|
Dave, thanks for the thoughts. I'm sorry my code is confusing to you. The class names have been shortened because I don't want to give away secure info. All code snippets are edited to remove code that isn't relevant. See my reply to the other response to this question for the rest of the factory method that shows what the default is if it doesn't fall into a case. Unfortunately, as I said, I can't step into the code that has the error message for some reason, and can only see it by exploring (with + for the cr class) during execution of the code (after I obtain the cr from the factory), and it shows up that way. I posted the error message in the subject and also in my problem statement. I'll look into whether it has a stack trace. Good idea.
|
|
|
|
|
MichCl wrote: can't step into the code that has the error message for some reason, and can only see it by exploring (with + for the cr class) during execution of the code (after I obtain the cr from the factory), and it shows up that way.
Is it defined in the same project (as source), or does it come from another assembly that you linked to?
MichCl wrote: I posted the error message in the subject
I get this one often, usually when I choose "Evaluate" in the IDE. It's not an exception, it's merely a message from the IDE that it cannot predict the outcome.
|
|
|
|
|
cr5, icr, factory, sec, and the code that calls the factory get method are all separate dll's (compiled separately), but I own them (I own everything being run). Different projects.
I used to be able to step into the cr5 code, and would expect to be able to step into the constructor/variable definition area, but for some reason it's not working. (message is step into: stepping over method without symbols 'cr5_new.cr5.cr5' shows in output window)
I looked into this message, and found a couple of links:
[^]
http://stackoverflow.com/questions/1495720/stepping-over-method-without-symbols-how-to-step-into[^]
I do have a pdb file for the cr5 build. I can't put a breakpoint in cr5 because the debugger is stepping over it and the implementation is in a separate project.
It seems that you think the error message in the subject isn't my issue. If I could figure out how to step into my cr5 class, that would help me figure out what the issue is. Thanks!
|
|
|
|
|
Are all thes eprojects in the same solution or are they seperate solutions?? Is everything compiled Debug?? Are you referencing the .DLL's in the other projects directly or are you referencing the projects themselves??
|
|
|
|
|
Thank you for the suggestions. The projects are separate solutions. They are all compiled debug, according to Build->Configuration Manager->Configuration . I reference the .dll's in the other projects directly (Solution Explorer->References->Browse to the .dll of the other project). It's possible that I am implementing a more C++-centric solution and that there is a more c# way that would make the project more stable, and I'd be open to that idea. It could also be that there's another setting somewhere in the project that got messed up...
|
|
|
|
|
When you reference the assemblies in your project, if they are in the same solution, it's a great idea to make sure that you have added them as project references, rather than browsing to the DLLs and selecting those. One thing I would check - do a clean on your solution (make sure you actually remove the bin directories as well), and then do a full rebuild - look to see if the pdb file for the cr5 assembly has been copied into the bin directory of the executing process.
|
|
|
|
|
When you say it's better to add them as project references, could you clarify this? You're not talking about going to Solution Explorer->References->Browse to other solution dll?
|
|
|
|
|
In the References dialog you can pick what you want to set a reference to. That includes Browsing to a .DLL, a registered .NET assembly, or another project.
The thing is that project needs to be part of the solution you're currently in. It would be better for you if you added these other .DLL projects to a single solution.
|
|
|
|
|
You have been very helpful. Thank you so much for all of your help. Is there a way I can give you "credit" on this site for your help? I know on other sites I've voted people "up", but I'm not seeing that here.
|
|
|
|
|
When you have a message open, there's a green and red arrow at the left hand side of it. Click the green to vote up and the red to down vote.
|
|
|
|
|
Pete beat me to answering, but you're welcome!
|
|
|
|
|
That was the best idea all day. I did a clean build in all of the projects/solutions and had a compiler error where it was complaining about a deleted method. I found an old exe file in my main program debug directory. It's date didn't match the dll and pdb files associated with it (this was for the cr5 class). Every time I cleaned and rebuilt it was re-copied into the directory. Finally, I added the class as a reference in my main program and another program, and it went away. I didn't think I would need to add cr5 as a reference in a class that wasn't using it, but the other solutions were called in the program (and putting the cr5 build files in it's directory), so I guess it needed it. Thanks!!!!
|
|
|
|
|
I'm glad you got there in the end. Good job.
|
|
|
|
|
Thanks for all your help too! You are very helpful. I'm so glad I got past that and can debug my project now!!!! I'm definitely going to be having a meeting with people to see if I should pull some of the other solutions into the same project.
|
|
|
|
|
Do you have any thoughts on why this question isn't appearing in my question list?
|
|
|
|
|
Look in messages, not Q&A Questions. It's in there.
|
|
|
|
|
Let me clarify:
When I get cr back from the factory, during execution, I can hit the + to look inside cr, and the issue is with the class Sec, with variable name edfed. It shows the error message of "Could not evaluate expression" for edfed. However, I can not step into cr's methods, either once I get cr back from the factory, or in the constructor, which is obtained in the factory. In other classes that use Sec, everything looks good, so I think the problem isn't in Sec, it's in how I define or instantiate, or obtain the object for Sec in the cr object. Sorry for any confusion.
In case anyone wants to see something I didn't show above, iCR is an interface defined as:
public interface iCR
{
event ProgressChangeHandler2 ProgressChanged;
event PB_MaxHandler2 SetPB_Maximum;
event PB_LabelHandler2 SetPB_Label;
Boolean CB_IO_Init(int slaveIndex);
int WritePortReady();
int WritePortBusy();
void WritePortFailure();
void WritePortSuccess();
void initCRData(byte[] wBuffer, byte[] sBuffer, int SlaveIndex, USB_Comm.Cl cb, int crType);
int ProcessTWriting(ref byte[] wDat, bool isFastMode);
int ReadT(ref byte[] data);
void Failure(String message);
void Success(String message);
}
|
|
|
|
|
what is
edfed = new Sec();
this Sec class do here? have you tried to put a break point in Sec class constructor and see whether it hits or not
Jibesh V P
|
|
|
|
|
Jibesh,
I can't put a breakpoint in Sec because I can't step into the class that instantiates it.
|
|
|
|
|
Thanks Jibesh.
The code you reference above is in the constructor of cr5 and edfed is the variable name and Sec is the class. In this example, I also have
Sec edfed = null;
in the variable declaration section above the constructor. I have also tried putting the whole thing above the constructor as a class variable:
Sec edfed = new Sec();
But I still see "could not evaluate expression" for edfed in cr5 class.
|
|
|
|
|
I'll throw you a bone...
I've copied code into a C# program that introduced unprintable characters that wound up generating bizarre compiler errors.
Delete the offending code and re-type it.
P.S. I find your obfusticating of code snippets ... obfusticating (it's all been done before) ... unless you're worried about your "boss" seeing what you're posting.
|
|
|
|
|
Deleting and re-typing is a good idea. Thanks anyway.
|
|
|
|
|
BTW, my boss is quite aware that I ask questions on websites and approves of the changes I make. He knows that we have a very small user's group and I'm the only programmer (and there's only one other c# programmer), so understands when I need to ask other people's opinion. I'm sorry if the snippets don't encompass the entire project, but I've had people complain about the opposite. They complain when I show too much code and info. Luckily, I figured it out, and I'm all set.
|
|
|
|
|
Looking for a code to start a webcam, would you please help
|
|
|
|