Написал в Access'е вывод лога в текстовый файл...
Как преобразовать любой объект в его информативное значение в виде строки?
CStr(Объект) - ругается... не помню на что :?
ps.
Сильно не пинать, перерыв в программировании на VBA был 2 года.
преобразовать любой объект в строку
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Объект.Name или другие общие для ActiveX/COM-объектов свойства.
CStr(Объект) - НЕЛЬЗЯ, так как Объект - это суть указатель, т.е. адрес ячейки памямяти, где начинается конкретный инстанс (экземпляр) этого Объекта.
CStr(Объект) - НЕЛЬЗЯ, так как Объект - это суть указатель, т.е. адрес ячейки памямяти, где начинается конкретный инстанс (экземпляр) этого Объекта.
Наверное не у всех есть свойство .Name? Это можно как-то проверить или проще обрабатывать событие ошибки?
ps.
А вот в 1С есть функция Строка(Объект) и всегда без ошибки возвратит что-нибудь полезное
ps.
А вот в 1С есть функция Строка(Объект) и всегда без ошибки возвратит что-нибудь полезное
- Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Сомневаюсь, что Вам действительно требуется представление АБСОЛЮТНО ЛЮБЫХ объектов. Например, если речь идет о контролах (элементах управления), то у ActiveX существуют свойства, которые гарантированно имеются. Всегда можно получить ClassName ClassID для любого OLE-объекта. И т.д.
Ну что ж, очень рад за 1С. Попробуйте написать самостоятельно такую функцию. Обращайтесь к предполагяемым свойствам, а если не получается, то обрабатывайте ошибку внутри функции. Это, ИМХО, единственное решение.ps.
А вот в 1С есть функция Строка(Объект)