|
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, спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |