|
bigdenny200 wrote: I found a tutorial
Please provide a link. Either it is not adequate or you have not understood it correctly. I would think most people would take longer than a single hour of studying to understand serialization. You are trying to understand it right? Not just trying to reproduce the tutorial source code for your purposes, that's not going to go well. You need to study it with the goal of understanding it.
|
|
|
|
|
I agree with what you are saying, but the problem is that I am working on a project which
is due soon. And I cant devote too much time to serialization only. But, in this case, I really thought that using the tutorial was supposed to work and would suffice.
Here it is: http://www.functionx.com/cpp/articles/serialization.htm,
and it seemed pretty easy for me from here.
Thanks
|
|
|
|
|
Yeah, I would not recommend that tutorial. The example "class" used is not a class, it is a simple 'C' data structure and there has been intrinsic support for reading and writing 'C' data structures since.... well 'C'. That is not the same thing as 'Serialization' of complex C++ classes that may contain pointers which are memory addresses.
You cannot serialize a memory address. You must serialize/deserialize the data at the memory address which requires knowledge of the data structure. Knowledge of the data structure is something that only the developer has meaning you cannot rely on the compiler to properly serialize your class.
bigdenny200 wrote: but the problem is that I am working on a project which
is due soon. And I cant devote too much time to serialization only.
I can't help the fact that poor project management and planning conflicts with reality. I am only a software developer not a magician that can bend time and warp reality. Perhaps your situation now calls for the Post Agile Manifesto approach to software development[^]. I don't recommend it, but if that's what you must do.... whatever.
|
|
|
|
|
> I can't help the fact that poor project management and planning conflicts with reality. I am >only a software developer not a magician that can bend time and warp reality. Perhaps your >situation now calls for the Post Agile Manifesto approach to software development[^]. I don't >recommend it, but if that's what you must do.... whatever.
There is no project management, its a University project. Had a lazy life before So now, I am tight in my deadlines.
|
|
|
|
|
bigdenny200 wrote: So now, I am tight in my deadlines.
Hmm....in the 5 hours this thread has been around, you probably could have researched and implemented serialization for
a class
Whether or not you use MFC, I would take a look at Serialization (MFC)[^]
This is an example of a fairly robust, generic, serialization solution.
On the other (easy) end of the solution spectrum, you could simply add a serialize method and
an unserialize method to your class, both of which take a socket as a parameter.
The serialize method would write (binary) all the class' data, one at a time, to the socket.
The unserialize method would read the binary data into the class' members, in the same order it
was serialized. That's a simple, socket-only class serialization solution.
led mike...sorry for posting in your thread
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: On the other (easy) end of the solution spectrum, you could simply add a serialize method and
an unserialize method to your class, both of which take a socket as a parameter.
But that will ofcourse only work if the class contains no pointers or virtual functions. If you have already a successful way to save and retrieve to and from a file, your're nearly there if you have no virtual functions. Just use the same code to write to and retrieve from the socket.
Hope you get it together in time
Bram van Kampen
|
|
|
|
|
I'm trying to re-build my app and Im getting this error:
<br />
Linking...<br />
uuid.lib(oaidl_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module<br />
Error executing link.exe.
???
I cant get why this is happening?
|
|
|
|
|
have you by any chance an instance of your application/dll still loaded in memory ?
also, have you tried a clean all/rebuild all ?
|
|
|
|
|
I'm using VC++ 6.0 I tried 'Build->Clean' and than 'Build->Rebuild All' but still the same error!
How can I checked if I have instance of my app still loaded. I tried using TaskManager but did not found under applications or processes tab.
Thanks for help!
|
|
|
|
|
are you building the application in the wrong order ? (not taking care of the interdependencies ?)
|
|
|
|
|
In my app I need 'imapi2.h' so I add d:\vistaSDK\include in my Tools->Options->Directory tab under include files and compile again about mising 'sal.h', I locate it (d:\vistaSDK\vc\include) and include it also.
Now when I try to compile I get:
<br />
uuid.lib(oaidl_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module
???
Thanks for helping me!
|
|
|
|
|
When I add 'd:\vistaSDK\include' (imapi2.h) and 'd:\vistaSDK\vc\include' (sal.h)
in project settings under C++ tab and pretproccesor category, instead of Tools->Options->Directory tab errors are:
<br />
Compiling...<br />
StdAfx.cpp<br />
d:\vistasdk\vc\include\crtdefs.h(506) : error C2485: 'deprecated' : unrecognized extended attribute<br />
d:\vistasdk\vc\include\ctype.h(175) : error C2485: 'deprecated' : unrecognized extended attribute<br />
d:\vistasdk\vc\include\string.h(61) : error C2485: 'deprecated' : unrecognized extended attribute<br />
d:\vistasdk\vc\include\string.h(62) : error C2485: 'deprecated' : unrecognized extended attribute<br />
d:\vistasdk\vc\include\string.h(67) : error C2485: 'deprecated' : unrecognized extended attribute<br />
d:\vistasdk\vc\include\string.h(72) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal<br />
d:\vistasdk\vc\include\string.h(73) : warning C4003: not enough actual parameters for macro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'<br />
d:\vistasdk\vc\include\string.h(73) : error C2485: 'deprecated' : unrecognized extended attribute<br />
d:\vistasdk\vc\include\string.h(73) : error C2144: syntax error : missing ';' before type 'char'<br />
d:\vistasdk\vc\include\string.h(73) : error C2501: 'strcpy' : missing storage-class or type specifiers<br />
d:\vistasdk\vc\include\string.h(73) : fatal error C1004: unexpected end of file found<br />
Error executing cl.exe.
???
Thanks!
|
|
|
|
|
Are there any limitations in VC6 to the number of times you can use a namespace declaration to add classes to the same namespace within the same header file (or nested header files)?
I've got several in one set of #included headers, and after successfully parsing a few namespace d areas of code, I get the error "syntax error : 'namespace'"!
Any ideas folks?
TIA!
|
|
|
|
|
Steve_Harris wrote: syntax error : 'namespace'
is this the only words the compiler gives you ?!
please post a relevant error message and a piece of code
|
|
|
|
|
Code is a bit extensive to post. I have a base class header file, with the class definition wrapped in namespace . A derived class header file, also wrapped in namespace , and a number of very small classes derived from the derived class defined in a single third header file, each class is individually wrapped in namespace . I also have a number of other headers all using the same namespace .
If I include the header file containing the small classes I get:
....\parts.h(71) : error C2059: syntax error : 'namespace'
....\parts.h(72) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
when it hits the seventh class declaration's namespace .
|
|
|
|
|
note, i didn't ask for the whole one, i asked for a relevant piece of code
BTW, you might be missing a closing '}' somewhere, because if we take the example of the std:: namespace, there are tons of stuff inside it, and it's still fine to use.
|
|
|
|
|
toxcct wrote: BTW, you might be missing a closing '}' somewhere,
That was it...miles from where the compiler error showed up. Sorry for wasting your time...
|
|
|
|
|
Steve_Harris wrote: miles from where the compiler error showed up
the compiler error was maybe not throwing you at the right place, but the message was talking enough for an insider
Steve_Harris wrote: Sorry for wasting your time
man, i'm glad to help, know it
|
|
|
|
|
did you forget a ; somewhere ?
Me think you should try to have one namespace per header file.
|
|
|
|
|
None missing that I can see.
If I put one namespace I get the namespace error in one place; if I wrap several class declarations individually one of them (not the first) gets the error.
I think it must be a compiler limitation.
|
|
|
|
|
Maximilien wrote: did you forget a ; somewhere ?
No......a } .....duuuuh. Problem was that the compiler error was miles from the code error...
|
|
|
|
|
I have a modeless dialog that I'm using for several different things in my program in developement. I need to be able to GRAYOUT or eliminate certain editboxes present on the dialog for certain uses in the program. Those GRAYEDOUT editboxes need to be unuseable for certain displays. How can I do this. Please include code in your response.
A C++ programming language novice, but striving to learn
|
|
|
|
|
pEdit->EnableWindow(FALSE);
?
|
|
|
|
|
Yes that works. Thanks
A C++ programming language novice, but striving to learn
|
|
|
|
|
Does this [^] and this[^] help you?
Oh, yes, you wanted code:
++++++++++
[
>+++++++>++++++++++>+++>+<<<<-
]
>++.
>+.
+++++++.
.
+++.
>++.
<<+++++++++++++++.
>.
+++.
------.
--------.
>+.
>.
This may actually print "Hello World!". Its in Brainfuck.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|