Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa C++ Managed kodom

[es] :: .NET :: Problem sa C++ Managed kodom

[ Pregleda: 3271 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SasaStojkovic
Aleksandar Stojkovic
Pancevo

Član broj: 14830
Poruke: 5
*.ptt.yu



Profil

icon Problem sa C++ Managed kodom08.11.2003. u 09:41 - pre 248 meseci
Prvi put sam probao da napravim saradnju izmedju klase pisane u VC++ managed kodu i natrcao na problem...Dakle da li je neko probao da iskoristi klasu pisanu u managed kodu u nekoj VB.NET aplikaciji? Sve lepo funkcionise osim.... Kada napravim dogadjaj u managed C++ klasi i lepo tu klasu instanciram u VB aplikaciji u editor mi podigne gresku HRESULT 0x80131019 i naravno nemam design pogledna formu. Dogadjaj se uredno poziva i radi - problem je samo u design modu...
Pretrazih net ali nista pametno nisam nasao (hehe mozda trazim na pogresnim mestima) ...
Pomagajte !
Lenjost je majka kreativnosti
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..g-c5300-4.dialup.nethere.net



+6 Profil

icon Re: Problem sa C++ Managed kodom08.11.2003. u 17:55 - pre 248 meseci
Ja sam dosta koristio Managed C++, ali ne mogu ovako napamet da ti pomognem. Možeš li da postuješ kratak primer koda koji bi doveo do problema koji pominješ?
 
Odgovor na temu

SasaStojkovic
Aleksandar Stojkovic
Pancevo

Član broj: 14830
Poruke: 5
*.ptt.yu



Profil

icon Re: Problem sa C++ Managed kodom08.11.2003. u 20:31 - pre 248 meseci
Kao prvo - hvala na dobroj volji !
A sad evo trivijalnog primera
C++:
Code:

#pragma once
using namespace System;
namespace CCC
{
    public __gc class Proba
    {
    public:
        int nesto;
        __event void ProbniDogadjaj();
        void PokreniDogadjaj() {ProbniDogadjaj();};
    };
}

VB.NET
Code:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim WithEvents x As New CCC.Proba()
#Region " Windows Form Designer generated code ..........
    Private Sub x_ProbniDogadjaj() Handles x.ProbniDogadjaj

    End Sub
End Class

BTW U medjuvremenu sam otkrio kako da bajpasujem problem - medjutim to mi nije resenje jer imam smarace koji ce da mi nadju zamerku ...Naime problem nestaje kada skinem referencu, ugasim VS pa ga zatim pokrenem i vratim referencu....

Molim za bolje resenje - ako je moguce :)
Lenjost je majka kreativnosti
 
Odgovor na temu

SasaStojkovic
Aleksandar Stojkovic
Pancevo

Član broj: 14830
Poruke: 5
*.ptt.yu



Profil

icon Re: Problem sa C++ Managed kodom08.11.2003. u 21:03 - pre 248 meseci
Potkrala se greska u C++ kodu :))
Code:

#pragma once
using namespace System;
namespace CCC
{
    public __gc class Proba
    {
    public:
        int nesto;
        __event void ProbniDogadjaj();
        void PokreniDogadjaj() {__raise ProbniDogadjaj();};
    };
}

Lenjost je majka kreativnosti
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-2.dialup.nethere.net



+6 Profil

icon Re: Problem sa C++ Managed kodom08.11.2003. u 22:46 - pre 248 meseci
Nisam uspeo da reprodukujem problem, ali u svakom slučaju ti fali

[event_source(managed)] ispred C++ klase.

Dakle:

Code:

#pragma once
using namespace System;
namespace CCC
{
[event_source(managed)]
public __gc class Proba
{
public:
int nesto;
__event void ProbniDogadjaj();
void PokreniDogadjaj() {__raise ProbniDogadjaj();};
};
}

 
Odgovor na temu

SasaStojkovic
Aleksandar Stojkovic
Pancevo

Član broj: 14830
Poruke: 5
*.ptt.yu



Profil

icon Re: Problem sa C++ Managed kodom08.11.2003. u 23:06 - pre 248 meseci
Probao sam i sa atributom [event_source(managed)](BTW nije neophodan), i sa delegacijom i sa "advanced" sintaksom( add, remove i raise) i uvek isto.... Pazi sve uredno radi kada se iskompajluje, medjutim u editoru se forma VB-a zabeli pojavi se upozorenje o grescici koju sam naveo i nemoguce je koristiti za dizajn....
Elem da bi se problem pokazao trebalo bi uraditi sledece:
1. Napraviti C++ managed class library i u njoj klasu koja bi trebalo da podigne dogadjaj...
2. Napraviti VB projekat u istom solutionu i dodati referencu na projekat C++ koji ima klasu koja podize dogadjaj (bas sam joj lepo ime smislio)
3. Instancirati objekat tipa klase koja podize dogadja sa withevents
4. iz spiska dogadjaja izabrati dogadjaj tako da se pojavi kod za handlovanje dogadjaja
5. vratiti se na design view.... i eto nama problema......
Pozdrav...
Lenjost je majka kreativnosti
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-2.dialup.nethere.net



+6 Profil

icon Re: Problem sa C++ Managed kodom08.11.2003. u 23:54 - pre 248 meseci
Sorry, razumem ja sve to, ali mi se problem ne javlja. Da li bi neko dugi probao? Možda je do instalacije VS-a.

OT: da li je moguće da C# nema onaj spisak događaja kao VB? Što više radim sa C#-om sve manje mi se dopada - na kraju ću da pređem na kombinaciju VB i C++ :(
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.attbi.cable.earthlink.net



+18 Profil

icon Re: Problem sa C++ Managed kodom09.11.2003. u 01:44 - pre 248 meseci
Kakav spisak dogadjaja?
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Problem sa C++ Managed kodom09.11.2003. u 01:54 - pre 248 meseci

Pa nije li dovoljno otkucati npr.
this.
da se dobije spisak koji uključuje i događaje?

Ako se otkuca recimo
this.Closing +=
Intellisense će odmah ponuditi da "odradi" metodu koja bi obrađivala događaj, dovoljno je da se pritisne TAB. Što sve skupa i nije onda nešto mnogo drugačije nego u VB.


Commercial-Free !!!
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-2.dialup.nethere.net



+6 Profil

icon Re: Problem sa C++ Managed kodom09.11.2003. u 16:49 - pre 248 meseci
Ne bih se složio da je baš isto. Prvo, to "this" moraš da otkucaš na pravom mestu, drugo - kad ga otkucaš pojave ti se ne samo događaji već i sve ostalo (properties, methods, data members - prava zbrka) i treće moraš "ručno" da unosiš metod koji obrađuje događaj. Mislim da je to mnogo bolje rešeno u VB IDE-u.
 
Odgovor na temu

[es] :: .NET :: Problem sa C++ Managed kodom

[ Pregleda: 3271 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.