Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Проблема с COPYMEMORY Добавлено: 13.08.05 14:56  

Автор вопроса:  VerhoLom
Это не то. чтоб совсем проблема, но немного достает. Я в своей проге делаю отдельную библиотеку под окна-справочники (т. к. предвижу, что часто буду менять там что-то). Работать с ней буду через позднее связывание (получается чтото типа плагина), т. к. перекомпилировать экзешник каждый раз нет охоты (а этих разов, видать, будет много). В эту ДЛЛку я передаю объект ADO.Recordset для заполнения окна-справочника и делаю это так:

Public Function FillDict(ByVal lngRecordset As Long) As Long
     On Error Goto No

     dim AdoR As ADODB.Recordset

[B]   CopyMemory ByVal AdoR, ByVal lngRecordset, 4&[/B]
      Set FormDict.MshFlexGrid.Recordset=AdoR
[B]   ZeroMemory byVal AdoR, 4&[/B]
      ...
      FillDict=0 'Все нормально, возвращаем 0
      Exit Function
no:
      FillDict=-1 'Ошибка какая либо
      ...
      Exit Function
End Function


Вот ее вызов:
objFDict.FillDict VarPTR(MyAdoRecordset)

Ничего особенного тут нет, кроме одного ньюанса: в откомпилированном виде все работает без проблем, а вот в пошаговом (через Ф8) возникает ошибка:
RemoteProcedure Call Failed

У кого-то есть идеи, как это безобразие можно прекратить???

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 13.08.05 15:14
Это безобразие прекращается использованием средства отладки, позволяющим выполнять программу в пошаговом режиме. Т.е. какого-нибудь отладчика. Например OllyDbg.

Ответить

Номер ответа: 2
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #2 Добавлено: 13.08.05 15:34
А средствами Бейсика????

Ответить

Номер ответа: 3
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #3 Добавлено: 13.08.05 15:42
Что средствами Бейсика? Произвести полноценную отладку? Нет такого. Как впрочем и "средствами" IDE.
Тот пошаговый режим, который предоставляет IDE, отладочным инструментом можно назвать с очень большой натяжкой.

У меня вот встречный вопрос: почему постоянно люди просят "средствами Бейсика". Они что, эти "средства", - лучше, удобней, гибче, надёжней или что-то ещё?
Имхо, кроме дополнительных неудобств и ограничений, ничего "средства Бейсика" не дают.

Ответить

Номер ответа: 4
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #4 Добавлено: 13.08.05 15:44
Вообще то согласен!

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 13.08.05 16:50
Сначала объясни, почему передаётся varptr as long, а не просто as recordset.

Ответить

Номер ответа: 6
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #6 Добавлено: 20.08.05 15:10
Для GSerg. когда в библиотеку (в ней находятся окна-справочники), которую создал через CreateObject, передаешь recordset, получается не совсем хорошая вещь: MSHFlexGrid (я нею пользуюсь для отображения справочных таблиц) не хочет видеть recordset, переданный таким образом в такую библиотеку. Может это глюк моей среды, но проверено временем. А если передать его как ЛОНГ и потом сделать так, как я описал, то Set MshFlexGrid.Recordset=AdoR прорабатывает нормально. Собственно все...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам