Přepis kodu z C# do VC++ – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přepis kodu z C# do VC++ – .NET – Fórum – Programujte.comPřepis kodu z C# do VC++ – .NET – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Luu0
Duch
7. 12. 2012   #1
-
0
-

Dobry den,

 potřeboval bych poradit jak mám zapsat tento kod v jazyce VC++

 zde je napsany v C# :

XmlSerializer serializer = new XmlSerializer(typeof(TridaDat[]));

mam ho zapsany takto, prekladač mi to sice veme, ale při běhu programu to na tomto řádku spadne:

XmlSerializer^ s = gcnew XmlSerializer (array<TridaDat^>::typeid);

moc děkuji za radu :)

Nahlásit jako SPAM
IP: 147.229.197.–
ingiraxo+15
Grafoman
7. 12. 2012   #2
-
0
-

a můžeš mi říct jedinej důvod, proč C# přepisujes do C++/CLI, kterej taky běží na .NET ? C# je nejlepší volba pro .NET, pokud to chceš v C++, tak použij čistý C++

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Luu0
Duch
7. 12. 2012   #3
-
0
-

#2 ingiraxo
jo to mi povidej, je to do školy proto to přepisuju, jinak bych to nechal ve zlatem C# :)

Nahlásit jako SPAM
IP: 147.229.197.–
ingiraxo+15
Grafoman
7. 12. 2012   #4
-
0
-

jinak podle mě by to fungovat mělo, zkus schválně jen vytáhnout ten typ 

Type^ t = array<TridaDat^>::typeid; // zkus jestli funguje
XmlSerializer^ s = gcnew XmlSerializer(t);

// potom me napada zkusit jeste toto jestli to vubec pude,
// protoze typ by mel byt pole a je jedno jaky ma prvky
XmlSerializer^ s = gcnew XmlSerializer (array::typeid);
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
zlz
~ Anonymní uživatel
634 příspěvků
7. 12. 2012   #5
-
0
-

A když to "spadne", tak nevidíš při čem? Ten jeden řádek je správně, chybu máš jinde.

Nahlásit jako SPAM
IP: 78.156.159.–
rudolf_franek0
Stálý člen
29. 12. 2012   #6
-
0
-

Z duvodu, ze se chystas typ TridaDat pouzit v XmlSerializer-u je treba nezapomenout na to aby TridaDat byla public - pokud se TridaDat vygeneruje Visual Studiem, tak je private a pak opravdu kod uvedeny nahore vyhodi Exception.

Viz: 

public ref class TridaDat { ... }
Nahlásit jako SPAM
IP: 77.240.99.–
Luu0
Duch
25. 2. 2013   #7
-
0
-

XmlSerializer^ s = gcnew XmlSerializer (array::typeid);

tenhle zpusob mi neprojde debugem,

přidu public mam, ono to funguje, kod projde a program nespadne, akorad mi to neuloží data. A když to krokuji tak mi to zahlasi chybu :

XmlSerializer^ s = gcnew XmlSerializer (array<TridaDat^>::typeid);

v proměnné s

chyba:

+ NamespaceList 0x026f83c0 { _defaultCapacity= _items= _size= ...} System::Collections::ArrayList^

pro jistotu celý program:

http://leteckaposta.cz/437977355

Moc děkuji za rady.

Nahlásit jako SPAM
IP: 147.229.197.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý