Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Compatibilità vecchi programma
lunedì 06 marzo 2006 - 15.59
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
lun 6 mar 2006 - 15:59
salve a tutti
vorrei sapere cosa bisogna "fare" per potere usare i template così normalmente come si faceva senza .net
col framework .net
il problema e che ho dei progetti di cui vorrei fare il porting in net questi progetti usano
stl e c++ puro quindi nessuna altra libreria solo non riesco a farglielo compilare
come primo step ho messo solo una classe
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 6 mar 2006 - 16:49
>il problema e che ho dei progetti di cui vorrei fare il porting
>in net questi progetti usano
>stl e c++ puro quindi nessuna altra libreria solo non riesco
>a farglielo compilare
>come primo step ho messo solo una classe
Ciao,
la vedo un po' dura ma ce la puoi fare
Il supporto ai templates c'è con il Framework 2.0. Non si chiamano Template <T> ma si chiamano Generics. Ti indico un link da cui puoi prendere spunto per verificare com'è stata fatta l'implementazione dei Template in .NET:
http://msdn2.microsoft.com/en-us/library/0x6a29h6.aspx
Naturalmente se stia usando Framwork 1.1, nel tuo caso sarebbe meglio passare al 2.0.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
lun 6 mar 2006 - 16:53
>>il problema e che ho dei progetti di cui vorrei fare il porting
>>in net questi progetti usano
>>stl e c++ puro quindi nessuna altra libreria solo non riesco
>>a farglielo compilare
>>come primo step ho messo solo una classe
>
>Ciao,
>la vedo un po' dura ma ce la puoi fare
Il supporto ai templates
>c'è con il Framework 2.0. Non si chiamano Template <T>
>ma si chiamano Generics. Ti indico un link da cui puoi prendere
>spunto per verificare com'è stata fatta l'implementazione dei
>Template in .NET:
>
http://msdn2.microsoft.com/en-us/library/0x6a29h6.aspx
>
>Naturalmente se stia usando Framwork 1.1, nel tuo caso sarebbe
>meglio passare al 2.0.
>
quindi non posso usare il codice vecchio ? cioè per capirci io del nuovo framewrok per adesso voglio usare
solo la parte visiva form eventi etc. anche connessioni varie ma il resto non toccarlo diciamo
e' possibile ?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 6 mar 2006 - 17:05
>quindi non posso usare il codice vecchio ? cioè per capirci io
>del nuovo framewrok per adesso voglio usare
>solo la parte visiva form eventi etc. anche connessioni varie
>ma il resto non toccarlo diciamo
>e' possibile ?
Il tuo programma immagino usi linguaggio C/C++. Se sì, l'unica cosa che puoi fare è importare tutto il software dentro Visual C++ .NET. Lì dovrebbe quanto meno compilare tutto.
A questo punto puoi usare le estensioni .NET e usare nel tuo programma sia codice C/C++ sia codice .NET.
Uno dei principali svantaggi di questa soluzione è che comunque quando distribusici il compilato sulla macchina di destinazione dovrà comunque essere installato il .NET Framework.
Un altro svantaggio è che quando farai uso di codice .NET il Runtime dovrà essere istanziato quindi ulteriore memoria verrà allocata anche per far girare il codice .NET.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
lun 6 mar 2006 - 17:47
>>quindi non posso usare il codice vecchio ? cioè per capirci io
>>del nuovo framewrok per adesso voglio usare
>>solo la parte visiva form eventi etc. anche connessioni varie
>>ma il resto non toccarlo diciamo
>>e' possibile ?
>
>Il tuo programma immagino usi linguaggio C/C++. Se sì, l'unica
>cosa che puoi fare è importare tutto il software dentro Visual
>C++ .NET. Lì dovrebbe quanto meno compilare tutto.
>
>A questo punto puoi usare le estensioni .NET e usare nel tuo
>programma sia codice C/C++ sia codice .NET.
>
>Uno dei principali svantaggi di questa soluzione è che comunque
>quando distribusici il compilato sulla macchina di destinazione
>dovrà comunque essere installato il .NET Framework.
>
>Un altro svantaggio è che quando farai uso di codice .NET il
>Runtime dovrà essere istanziato quindi ulteriore memoria verrà
>allocata anche per far girare il codice .NET.
>
non mi compila proprio domani posto i messaggi di errore ciao
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 7 mar 2006 - 09:08
ecco gli errori ed anche il file
/*
ver: 1.0
*/
#ifndef _UCONTAINERH_
#define _UCONTAINERH_
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <list>
using namespace std ;
template <typename tipoGenerico>
class clsContainer
{
public:
clsContainer(); //costruttore
~clsContainer(); //distruttore
private:
list<tipoGenerico> gen; //per l'inserimento e cancellazione
list<tipoGenerico>::iterator it;
public:
void insertItem(tipoGenerico sItem);
void cancelItem(tipoGenerico sItem);
bool findItem(tipoGenerico sItem);
bool cancelBuffer();
void cancelDatoCorr();
tipoGenerico getValueToIndex(int);
int getNumElem();
//funzioni di spostamento nel contenitore
void goStart();
void goEnd();
void nextElem();
void prevElem();
bool locateEnd;
tipoGenerico getValueToIndex();
};
------ Build started: Project: cataSoft, Configuration: Debug Win32 ------
Compiling...
cl : Command line warning D9025 : overriding '/clr:pure' with '/clr'
cataSoft.cpp
d:\documenti\visual studio 2005\projects\catasoft\catasoft\UnitContainer.h(28) : warning C4346: 'std::list<tipoGenerico>::iterator' : dependent name is not a type
prefix with 'typename' to indicate a type
d:\documenti\visual studio 2005\projects\catasoft\catasoft\UnitContainer.h(50) : see reference to class template instantiation 'clsContainer<tipoGenerico>' being compiled
d:\documenti\visual studio 2005\projects\catasoft\catasoft\UnitContainer.h(28) : error C2146: syntax error : missing ';' before identifier 'it'
d:\documenti\visual studio 2005\projects\catasoft\catasoft\UnitContainer.h(28) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Build log was saved at "file://d:\documenti\Visual Studio 2005\Projects\cataSoft\cataSoft\Debug\BuildLog.htm"
cataSoft - 2 error(s), 2 warning(s)
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 7 mar 2006 - 14:20
>ecco gli errori ed anche il file
>
Allora spiega un po', il progetto all'inizio con che ambiente è stato costruito ?
COn l'ambiente con cui è stato costruito, funzionava ? Veniva compilato ?
Hai fatto delle modifiche già all'interno di VS.NET 2005 ?
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 7 mar 2006 - 14:24
Ciao compilava con visual studio 6 mi pare la versione prima di .net
e borland 6
si si funzionava tutto (non sto a vedere ii bug) ma compilava ed eseguiva tutto
...
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 7 mar 2006 - 14:28
>Ciao compilava con visual studio 6 mi pare la versione prima
>di .net
>e borland 6
Ciao,
se compilava con la prima versione di .NET, dovrebbe compilare anche con la 2003 e la 2005, sempre che il progetto non sia stato modificato nel frattempo.
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 7 mar 2006 - 14:31
>>Ciao compilava con visual studio 6 mi pare la versione prima
>>di .net
>>e borland 6
>
>Ciao,
>se compilava con la prima versione di .NET, dovrebbe compilare
>anche con la 2003 e la 2005, sempre che il progetto non sia stato
>modificato nel frattempo.
>
nessuno modifica e forse o mi sono spiegato o hai capito male.
Non lo ho mai usato con .net solo le versioni prima
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 7 mar 2006 - 14:32
>nessuno modifica e forse o mi sono spiegato o hai capito male.
>Non lo ho mai usato con .net solo le versioni prima
Ok, se questo è un progetto che viene dal Visual C++, e hai dei file .dsw o .dsp di progetto, aprendolo con Visual C++ 2005 dovresti eventualmente avere qualche warning che ti suggerisce di aggironare il progetto e poi dovrebbe compilare.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 7 mar 2006 - 14:35
ma il problema non è questo "progetto" inteso come tale
Perchè in questo caso come progetto intendo una sorta di toolkit mio personale
mini librerie che uso nel progetto vero e proprio
Comunque partendo da una parte minimale di questo progetto ed aggiunta quella classe che ti ho fatto vedere
non compila e da questi errori
la versione di .net è la free quella express per c++
----
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !