Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489

    [c#] the name 'myArr' does not exist in the current context

    Ciao a tutti!

    perche la variabile pubblica "myArr" non funziona nella seconda sub?? mi da il messaggio d errore "the name 'myArr' does not exist in the current context".

    ma é pubblica e nella prima sub la vede!

    grazie

    ciao


    codice:
    public partial class Form1 : System.Windows.Forms.Form
        {
            [DllImport("user32.dll")]
            static extern IntPtr GetForegroundWindow();
    
            [DllImport("user32.dll")]
            static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count); 
    
    
            ExternalCommandData commandData;
            UIDocument uiDoc;
            public string[] myArr = null;
            public Document Doc;
            public int currentview = 0;
            public int currentstep = 0;
            UIApplication revitApp;
            ElementSet elems;
    
    
            public Form1(ExternalCommandData cData)
            {
                commandData = cData;
                revitApp = commandData.Application;
                uiDoc = revitApp.ActiveUIDocument;
                Doc = revitApp.ActiveUIDocument.Document;
    
    
      
                FilteredElementCollector viewCollector = new FilteredElementCollector(Doc);
                viewCollector.OfClass(typeof(Autodesk.Revit.DB.View));
    
                myArr = getlist();   <--------------------------------- QUI NO PROBLEM!!
                InitializeComponent();
                
            }
    
    
    
            public void loadview()
            {
                FilteredElementCollector viewCollector = new FilteredElementCollector(Doc);
                viewCollector.OfClass(typeof(View));
                foreach (Element viewElement in viewCollector)
                {
                    View view = (View)viewElement;
                    if (view.ToString() == "Autodesk.Revit.DB.View3D" & view.ViewType.ToString() != "124" & !view.IsTemplate & myArr2(currentview) == view.ViewName) <------------------ QUI PROBLEM!!!
                    {
    
                        revitApp.ActiveUIDocument.ActiveView = view;
                        currentstep = 1;
                    }
                }
    
            }
    ....
    ....
    ...

  2. #2
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    A quanto vedo nella linea di codice che hai sottolineato
    codice:
    if (view.ToString() == "Autodesk.Revit.DB.View3D" & view.ViewType.ToString() != "124" & !view.IsTemplate & myArr2(currentview) == view.ViewName)
    L'errore commesso, è che semplicemente, tu non hai dichiarato myArr2.
    Così come hai dichiarato myArr[], devi dichiarare anche myArr2[].

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    ups scusa, mi sono dimenticato di togliere quel "2"!

    in realtá li cé scritto myArr non myArr2! il 2 é un residuo di un test che ho fatto!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    non so se dall ultimo mio post si é capito, quel 2 non era la causa del problema, in realtá quel 2 non cé. cioé il probelma ce l ho ancora.

  5. #5
    Forse perché hai usato le parentesi tonde al posto di quelle quadre?
    Chi non cerca trova.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.