|
Interesting stuff, but I'm not sure its quite along the lines I'm looking for. Do you have a code example or solution that demonstrates the problem where the compiler doesn't recognize the proper base class of the derived class and just thinks its a System::Object?
|
|
|
|
|
Yes I do. I will try to post it as soon as I get time! Also, the problem you refering to is something like the following where I have to use a safe_cast to get it to work:
using namespace System;
using namespace System::Collections::Generic;
generic <typename T>
void Foo(IEnumerable<T>^ col)
{
for each (T val in col)
{
Console::WriteLine(val);
}
}
int main(array<System::String ^> ^args)
{
array<int>^ arr = {10, 20, 30, 40, 50};
Foo(safe_cast<IEnumerable<int>^>(arr));
return 0;
}
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
yeah that's exactly the problem. Alternatively you could call Foo<int>(arr). The C# compiler properly recognizes that an array is System::Array so it doesn't require that cast. I don't believe there's any way to dynamically get the generic type argument with typeof or GetType(). It seems this would make it quite difficult to use generics dynamically based on user input or something similar.
|
|
|
|
|
Hello,
I would use a global variable in c++ cli
help me
if exist a means to do this give me an exemple
thanks ,
aef
|
|
|
|
|
I'm assuming you need a global managed object.
One way would be to use gcroot
#include <vcclr.h>
...
gcroot<MyManagedClass ^> MyGlobalObject = gcnew MyManagedClass();
...
extern gcroot<MyManagedClass ^> MyGlobalObject; Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
You can also create a global ref class with static methods.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
can anybody tell me how to convert from excel format to .csv format
|
|
|
|
|
Open it in excel, click save as and choose csv format
|
|
|
|
|
It is not simple, I found this Java Lib to do this, but I never used it before
http://jakarta.apache.org/poi/hssf/how-to.html
Russell
|
|
|
|
|
I guess it can be done easily bu excel object library
|
|
|
|
|
Yes, of course. But I don't know how. It could be that other lenguages offers some shortcuts.
Probally it is also possible to prepare a macro to save the file as CVS format and then call it from the program...but again: I don't know how. It is onlyu an idea
Russell
|
|
|
|
|
Here is code snippet that I've written recenlty:
<br />
private void savetoexcelformat(string currentpath, string pathtosave)<br />
{<br />
object missing = System.Reflection.Missing.Value;<br />
<br />
Excel.Application app = new Excel.Application();<br />
app.Visible = false;<br />
<br />
app.Workbooks.OpenXML(currentpath, missing,missing).SaveAs(pathtosave, Excel.XlFileFormat.xlWorkbookNormal, missing, missing,<br />
missing, missing, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);<br />
app.Quit();<br />
<br />
}
Just change Excel.XlFileFormat.xlWorkbookNormal to the format you need Also you will need to open your file by calling Open() function and passing necessary parameters. My file was in xml format of excel that's why I used OpenXML
|
|
|
|
|
wow...then it looks very easy!
Now I'm curious...I wnat to try.
Russell
|
|
|
|
|
Indeed it is
|
|
|
|
|
Did you want a .NET C++ solution ?
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
|
Yes, it was my intention to establish that he was probably in the wrong forum
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
I don't recommend you use the Office Interop for this, as the end user may not have Office installed on their machine. You can use the OLEDB provider to load the excel spreadsheet into a DataTable . Once it is loaded into the table, create a FileStream and iterate through the datatable. Iterate through the DataTable and use a StringBuilder to add the columns to a string, and sepereate the fields by a comma. Once you get to the end of each row, write them to the file. When creating the file, make it "myFile.csv," and you will be able to load it into Excel, and it will be in a spreatsheet like you wanted. Hope that is what you are looking for. Also, DON'T CROSS-POST!!!!!!!!
I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")
|
|
|
|
|
hello,
I want to called methods from another Form of the principal form
I try this exemple in the URL but a lot of errors
http://dotnet.developpez.com/faq/cppcli/?page=WinForms#crossinclude
error C2653: 'Form1' : is not a class or namespace name 6
error C2065: 'currForm2' : undeclared identifier 8
error C2061: syntax error : identifier 'Form2' 8
error C2653: 'Form1' : is not a class or namespace name 11
error C2227: left of '->Show' must point to class/struct/union/generic type 13
why it does not work ??????????
thanks,
aef
|
|
|
|
|
I don't read French and I can't find where you code is on that page. But, it looks to me like you're using the name of the class instead of the name of a class instance, to try to call an instance method. This obviously does not work, I recommend you do some reading on how object orientated code works. In the meantime, you need a class instance, in order to call methods. You can have more than one instance of the Form1 class, and you need to know which instance you are trying to show, otherwise, you can't do it.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Hello;
its impossible in C++/CLI ?????
can I use a globale variable in all form ??????
Thanks
-- modified at 13:10 Monday 20th August, 2007
aef
|
|
|
|
|
hello and sorry for my bad english!
i have written a windows driver to hide processes per DKOM (direct kernel object manipulation) with the help of the book "rootkits - Subverting the Windows Kernel".
a short description of the concept can be found on
http://www.rohitab.com/discuss/lofiversion/index.php/t23880.html
under xp sp2
------------
in the taskmanager the idle process has the pid 0, but in the kernel object EPROCESS the idle process has the pid 2153092480 and the name "ÿÿÿÿ" which should be a empty string.
output of the driver per DbgPrint
FLINK_OFFSET: 0x88, PID_OFFSET: 0x84, NAME_OFFSET: 0x174
0 - PID: 1832, Name: senddrv.exe
1 - PID: 2153092480, Name: ÿÿÿÿ
2 - PID: 1980, Name: procexp.exe
3 - PID: 984, Name: firefox.exe
4 - PID: 860, Name: regedit.exe
5 - PID: 624, Name: notepad.exe
6 - PID: 1708, Name: cmd.exe
7 - PID: 1496, Name: cmd.exe
8 - PID: 480, Name: notepad++.exe
9 - PID: 1520, Name: notepad++.exe
10 - PID: 1500, Name: taskmgr.exe
in this output many processes are hidden because before i test my driver
under win2000 sp4
-----------------
under win2000 the output is ok!
the idle process has the pid 0 and a empty string! so all ok!
FLINK_OFFSET: 0xA0, PID_OFFSET: 0x9C, NAME_OFFSET: 0x1FC
0 - PID: 1164, Name: senddrv.exe
1 - PID: 0, Name:
2 - PID: 8, Name: System
3 - PID: 180, Name: smss.exe
4 - PID: 208, Name: csrss.exe
5 - PID: 228, Name: winlogon.exe
6 - PID: 256, Name: services.exe
7 - PID: 268, Name: savedump.exe
8 - PID: 276, Name: lsass.exe
9 - PID: 392, Name: ati2evxx.exe
10 - PID: 448, Name: svchost.exe
11 - PID: 488, Name: svchost.exe
12 - PID: 536, Name: SPOOLSV.EXE
13 - PID: 564, Name: acs.exe
14 - PID: 596, Name: btwdins.exe
15 - PID: 620, Name: hidserv.exe
16 - PID: 692, Name: regsvc.exe
17 - PID: 712, Name: mstask.exe
18 - PID: 756, Name: SMAgent.exe
19 - PID: 788, Name: winmgmt.exe
20 - PID: 800, Name: svchost.exe
21 - PID: 980, Name: explorer.exe
22 - PID: 1144, Name: SynTPLpr.exe
23 - PID: 1160, Name: SynTPEnh.exe
24 - PID: 1176, Name: AGRSMMSG.exe
25 - PID: 1180, Name: ACU.exe
26 - PID: 1192, Name: reader_sl.exe
27 - PID: 1200, Name: internat.exe
28 - PID: 1220, Name: RMClock.exe
29 - PID: 1208, Name: BTTray.exe
30 - PID: 1308, Name: BTSTAC~1.EXE
31 - PID: 1236, Name: notepad++.exe
32 - PID: 1300, Name: cmd.exe
33 - PID: 1552, Name: cmd.exe
34 - PID: 628, Name: Dbgview.exe
has anyone experience with this peculiarity?
or is this a security feature from xp sp2?
my programm and driver can be downloaded from
http://lamp2.fh-stpoelten.ac.at/~tm041085/dkom.zip
|
|
|
|
|
Frankly, I do not see any legitimate reason to hide computer processes from view. I do not condone this type of development.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
I would like to get some TCL along with the C++ codings for the design of Feedback-based Dynamic Scheduler(based on control theory(
code for my project
|
|
|
|
|
i'm new to game programming so this would be a good knowledge.
i would love to know:
1. how the music files are being handled in a game using c++?
2. how an array are used to encapsulate a sound buffer?
3. how the array is used to create a sound buffer?
4. how a pointer to DirectSound will be obtained?
5. how the class provide method how to load the sound data (*.wav or *.pcm or *.midi files)?
Is there any article regrading this that might answer my question?
pls help!!!
|
|
|
|
|