IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Migration C++ 6 vers .Net


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut Migration C++ 6 vers .Net
    Bonjour a tous, tous d'abord, je vous souhaite de bonnes fêtes de fin d'année !

    J'espère être dans la bonne section

    Voila, j'ai un petit problème de conversion d'un projet VC++ 6 en VC .Net, les erreurs sont les suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    error C2065: 'i' : identificateur non déclaré
    error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut 
    error C2593: 'operator =' est ambigu 
    error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut 
    error C3867: &'CFileListView::DragColumn' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'CFileListView::DragColumn' pour créer un pointeur vers membre 
    error C2228: la partie gauche de '.m_pDirInfo' doit avoir un class/struct/union 
    error C2440: '=' : impossible de convertir de 'UINT' en 'HANDLE'
    Est-ce qu'une âme charitable pourrait m'aider à corriger ces erreurs ?

    Merci à tous

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Avec le code source, ce serait mieux !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Avec le code source, ce serait mieux !
    +1 !

    En outre, rappelons qu'il y a une FAQ sur C++/CLI (aka "managed C++" ) :

    http://dotnet.developpez.com/faq/cppcli/

    'HTH

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    Oui c'est vrai, excusez moi, mais à vrai dire, j'ai un peu de mal

    Voici les extraits du code source :

    error C2065: 'i' : identificateur non déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    CContentsView::CContentsView()
    :
    m_bFont( FALSE ),
    m_nLineHeight( 8 ), m_nAvgCharWidth( 8 ),
    m_nHorizOffset( 0 ), m_dwInternational( CHAR_ENGLISH ),
    m_pszBuffer( NULL ),
    m_pszCursor( NULL ),
    m_pszStartSel( NULL ),
    m_pszTopOfView( NULL ),
    m_pszMouseDown( NULL ),
    m_pszLastMouse( NULL ),
    m_nWheelMoves( 0 ),
    m_bDoubleClick( FALSE ),
    m_bOutline( FALSE ),
    m_bHideHtml( TRUE ),
    m_nWordWrap( 80 ),
    m_nTabWidth( 4)
    {
    int nOutline = regGetInt( HKEY_CURRENT_USER,"Contents View", "Outline", 1 );
    m_bOutline = (nOutline != 0);
    int nHideHtml = regGetInt( HKEY_CURRENT_USER,"Contents View", "HideHtml", 1 );
    m_bHideHtml = (nHideHtml != 0);
    int nNotFoundAtTop = regGetInt( HKEY_CURRENT_USER,"Contents View", "NotFoundAtTop", 1 );
    m_bNotFoundAtTop = (nNotFoundAtTop != 0 );
    setCharMask();
    // set the printable non alphabetic characters
    memset( m_bNonAlphaChar, 0, 256 * sizeof( bool ) );
    m_bNonAlphaChar[ 9 ] = true; // horizontal tab
    for( int i = 32; i <= 47; i++ )
    m_bNonAlphaChar[ i ] = true;
    for( i = 58; i <= 64; i++ )
    m_bNonAlphaChar[ i ] = true;
    for( i = 91; i <= 96; i++ )
    m_bNonAlphaChar[ i ] = true;
    for( i = 123; i <= 126; i++ )
    m_bNonAlphaChar[ i ] = true;
    for( i = 130; i <= 137; i++ )
    m_bNonAlphaChar[ i ] = true;
    m_bNonAlphaChar[ 139 ];
    for( i = 145; i <= 153; i++ )
    m_bNonAlphaChar[ i ] = true;
    m_bNonAlphaChar[ 155 ] = true;
     
    }
    error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    if( nSkippingHtml )
    continue;
    if( nBytesIn )
    {
    if( chIn == '&' )
    {
    pszIn++; nBytesIn--;
    const nStringMax = 32;
    char pszHtmlString[ nStringMax ];
     
    for( int i = 0; i < nStringMax - 1 && nBytesIn && *pszIn != ';'; i++, pszIn++, nBytesIn-- )
    pszHtmlString[ i ] = *pszIn;
    pszHtmlString[ i ] = '\0';
    chIn = htmlChar( pszHtmlString );
    }
    elseif( (chIn & 0xe0) == 0xc0 ) // check for UTF-8 encoding of latin
    {
    pszIn++; nBytesIn--;
    chIn = ((chIn & 0x3) << 6) | (*pszIn & 0x3f);
    }
    }
    }
    error C2593: 'operator =' est ambigu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    void CContentsView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
    {
    if( !thisApp()->isThreadRunning() && ( isValid( nChar ) || nChar == '*' || nChar == '?' ) )
    {
    CContentsSearchDialog dlg;
    dlg.m_pDocument = GetDocument();
    dlg.m_sSearch = nChar;
    dlg.m_bReverse = FALSE;
    dlg.m_sStatus = GetDocument()->getIndexAttributes();
    if( dlg.DoModal() == IDOK )
    {
    GetDocument()->setSearchText( dlg.m_sSearch );
    if( m_bOutline )
    newFileSelected();
    if( find( dlg.m_sSearch, dlg.m_bUseSoundex, dlg.m_bReverse ) )
    {
    CString sStatus;
    sStatus.LoadString( IDS_NEXT_OCCURRENCE );
    thisApp()->setStatus( dlg.m_sSearch + sStatus );
    }

    error C3867: &'CFileListView:ragColumn' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'CFileListView:ragColumn' pour créer un pointeur vers membre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    CFileListView::CFileListView() : m_nItems( 0 ), m_nNextItem( 0 ), m_pResults( NULL ), m_bFont( FALSE )
     
    {
    m_headerctrl.SetCallback( this, (void (CWnd::*)(int, int))DragColumn );
    for( int i = clmFirst; i <= clmLast; i++)
    {
    m_nSortOrder[ i ] = m_nDisplayOrder[ i ] = i;
    m_bReverseSort[ i ] = false;
    m_bEnabled[ i ] = true;
    }
     
    m_bEnabled[ clmVolume ] = false;
    m_nDisplayOrder[ clmVolume ] = -1;
    }
    CFileListView::~CFileListView()
    {
    if( m_pResults )
    delete[] m_pResults;
    }
    error C2228: la partie gauche de '.m_pDirInfo' doit avoir un class/struct/union
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    // check to see if the files are still there (make sure not in zip)
    // must make list of files since list will become bogus after marking file obsolete
    FileID* pidDeletedFiles;
    pidDeletedFiles = new FileID[ m_nItems ];
    int nNextFile = 0;
    for( nItem = 0; nItem < m_nItems; nItem++ )
    {
    if( GetListCtrl().GetItemState( nItem, LVIS_SELECTED ) == LVIS_SELECTED )
    {
    CString sPath = getPath( nItem );
    CFileInfo* pDir = m_pResults[ nItem ].m_pDirInfo;
    bool bFolder = ( !pDir || !pDir->m_nParent );
    CFileStatus fileStatus;
    sPath = makeLower( sPath );
    if( !bFolder && CFileIndex::getZipExtIndex(sPath) == -1 
    && !CFile::GetStatus( sPath, fileStatus ) )
    {
    pidDeletedFiles[ nNextFile++ ] = GetDocument()->getFileIDFromPath( sPath );
    }
    }
    }
    error C2440: '=' : impossible de convertir de 'UINT' en 'HANDLE'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    BOOL CMemoryMappedFile::Open(LPCTSTR szName, 
    HANDLE hFile /* = INVALID_HANDLE_VALUE */,
    DWORD flProtect /* = PAGE_READWRITE */, 
    DWORD dwMaximumSizeHigh /* = 0*/, 
    DWORD dwMaximumSizeLow /* = 1024 * 4*/,
    DWORD dwNumberOfBytesToMap /* = 0 */,
    DWORD dwDesiredAccess /* = FILE_MAP_WRITE | FILE_MAP_READ */, 
    DWORD dwFileOffsetHigh /* = 0*/, 
    DWORD dwFileOffsetLow /* = 0*/)
    {
    ASSERT(m_hFile == CFile::hFileNull);
    m_hFile = (UINT) CreateFileMapping(hFile,
    NULL,
    flProtect,
    dwMaximumSizeHigh,
    dwMaximumSizeLow,
    szName);
    if (!m_hFile)
    {
    // simpleMessageBox("Unable to open shared file\n");
    DWORD nErr = GetLastError();
    char* pszMessage;
    FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
    NULL, nErr, 0, (char*) &pszMessage, 10, NULL );
    simpleMessageBox( pszMessage );
    return FALSE;
    }
    Voila, j'espère que sa fera l'affaire. En fait, je souhaiterais migrer un projet open source d'indexation de fichiers ecrit en Visual C++ 6 vers du .net, et si possible, en final, du VB .Net. Si certaines personnes sont intéressées par la projet, n'hésitez pas à me le dire

    Merci à tous !

Discussions similaires

  1. Migration asp vers .net
    Par oxino dans le forum ASP
    Réponses: 2
    Dernier message: 30/04/2010, 11h26
  2. Réponses: 8
    Dernier message: 05/07/2009, 12h45
  3. Migration Delphi Win32 vers Delphi .NET
    Par ddr_xp68 dans le forum Débuter
    Réponses: 5
    Dernier message: 10/04/2009, 12h52
  4. migration de delphi vers delphi.net
    Par momo629 dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 03/08/2007, 20h11
  5. [VB.NET] Conseil migration d'ADO vers ADO.NET
    Par daner06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/12/2004, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo