| 
    
            
         
         | 
    
  | 
8.2, COM-соединение, C#, dynamic | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        seofernandez    
     28.04.12 
            ✎
    15:54 
 | 
         
        C#
  
        **************** V82.COMConnector v82conn = new V82.COMConnectorClass(); dynamic handle = v82conn.Connect(@"file=d:\1c\InfoBase\Evita; usr=Администратор;pwd=secret;"); dynamic q = handle.NewObject("Запрос"); q.Text = @"ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура"; dynamic result = q.Execute(); // !!! dynamic data = result.Select(); while (data.Next()) { dynamic НоменклатураОбъект = data.Номенклатура.ПолучитьОбъект(); Shell.Log(НоменклатураОбъект.Наименование); } **************** System.NullReferenceException: Object reference not set to an instance of an object. at System.Dynamic.ExcepInfo.GetException() at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message) at CallSite.Target(Closure , CallSite , ComObject ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0) at CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0) at shell.HomePage.Action_Click(Object sender, EventArgs e) in d:\projects\shell\HomePage.cs:line 41 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at shell.Shell.Main(String[] args) in d:\projects\shell\Shell.cs:line 40 **************** Вылетает с исключением на строке помеченной '!!!'. Кто работал с COM? Где там косяк может быть?  | 
|||
| 
    1
    
        qeos    
     28.04.12 
            ✎
    15:56 
 | 
         
        Object reference not set to an instance of an object.     
         | 
|||
| 
    2
    
        Рэйв    
     28.04.12 
            ✎
    15:56 
 | 
         
        Пометь ее как "лыбдыр"     
         | 
|||
| 
    3
    
        izekia    
     28.04.12 
            ✎
    15:57 
 | 
         
        ой пля     
         | 
|||
| 
    4
    
        Рэйв    
     28.04.12 
            ✎
    15:59 
 | 
         
        (0)И вообще 
  
        Не считай нас нубами. Скопируй полный текст ошибки  | 
|||
| 
    5
    
        seofernandez    
     28.04.12 
            ✎
    16:08 
 | 
         
        Рэйв, чё за 'лыбдыр'?     
         | 
|||
| 
    6
    
        Рэйв    
     28.04.12 
            ✎
    16:10 
 | 
         
        (5)Тебе то что?:-)     
         | 
|||
| 
    7
    
        seofernandez    
     28.04.12 
            ✎
    16:11 
 | 
         
        Мне нужно чтоб эта муть заработала!!!!
  
        Ты знаешь, что делать?  | 
|||
| 
    8
    
        Рэйв    
     28.04.12 
            ✎
    16:12 
 | 
         
        так работай.
  
        Чтобы муть заработала. Никто не мешает.  | 
|||
| 
    9
    
        Ненавижу 1С    
     гуру 
    28.04.12 
            ✎
    16:14 
 | 
         
        НА КАКОЙ СТРОКЕ ВАЛИТСЯ?     
         | 
|||
| 
    10
    
        Ненавижу 1С    
     гуру 
    28.04.12 
            ✎
    16:14 
 | 
         
        +(9) туплю     
         | 
|||
| 
    11
    
        seofernandez    
     28.04.12 
            ✎
    16:15 
 | 
         
        dynamic result = q.Execute(); // !!!
  
        Догадок пока нет...  | 
|||
| 
    12
    
        Ненавижу 1С    
     гуру 
    28.04.12 
            ✎
    16:15 
 | 
         
        в C# не нужны |
  
        q.Text = @"ВЫБРАТЬ Номенклатура.Ссылка КАК Номенклатура ИЗ Справочник.Номенклатура";  | 
|||
| 
    13
    
        Serginio1    
     28.04.12 
            ✎
    16:16 
 | 
         
        А в C# такая конструкция проходит?
  
        А разве в C# | отрабатывает как разделитель строк?  | 
|||
| 
    14
    
        izekia    
     28.04.12 
            ✎
    16:19 
 | 
         
        (12) слава ненеавижу     
         | 
|||
| 
    15
    
        Рэйв    
     28.04.12 
            ✎
    16:19 
 | 
         
        ладно,Мне жена принесла офигительного леща!Он пока что мне интересней, чем некоторые:-)     
         | 
|||
| 
    16
    
        seofernandez    
     28.04.12 
            ✎
    16:19 
 | 
         
        Без | то же исключение и в том же месте...     
         | 
|||
| 
    17
    
        Рэйв    
     28.04.12 
            ✎
    16:20 
 | 
         
        **ушел пить пиво     
         | 
|||
| 
    18
    
        izekia    
     28.04.12 
            ✎
    16:21 
 | 
         
        (16) строчки не знаешь как в шарпе писать?     
         | 
|||
| 
    19
    
        seofernandez    
     28.04.12 
            ✎
    16:22 
 | 
         
        А что со строчками не так?     
         | 
|||
| 
    20
    
        Serginio1    
     28.04.12 
            ✎
    16:31 
 | 
         
        dynamic q = handle.NewObject("Запрос");
  
        q.Text = @"ВЫБРАТЬ 1 как поле"; dynamic result = q.Выполнить(); // !!! dynamic data = result.Выбрать(); while (data.Next()) { } работает  | 
|||
| 
    21
    
        Ахиллес    
     28.04.12 
            ✎
    16:34 
 | 
         
        (20) А не пофигу?
  
        Запрос (Query) Выполнить (Execute) Опаньки! И так тоже можно! Синтаксис: Выполнить() Возвращаемое значение: Тип: РезультатЗапроса; Неопределено.  | 
|||
| 
    22
    
        seofernandez    
     28.04.12 
            ✎
    16:38 
 | 
         
        ВЫБРАТЬ 1 как поле - Работает!
  
        ВЫБРАТЬ Номенклатура.Ссылка КАК Номенклатура ИЗ Справочник.Номенклатура - Нет!  | 
|||
| 
    23
    
        seofernandez    
     28.04.12 
            ✎
    16:41 
 | 
         
        Serginio1, спасибо)     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |