|
|
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 17:36 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Как описан Relation? Как Object? Либо описывай, не как Object, чтобы не было late binding, либо тип описывай в public-классе (что возможно только в проекте соответствующего вида, например, ActiveX DLL). По-видимому, так надо понимать сообщение об ошибке. В общем, логичное требование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 18:11 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Или попробуй сделать тип классом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 18:26 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Сейчас просто как Collection. Соответсвенно при инициализации контрола в Run-Time - Dim Relation as NEW Collection. Ну как вариант можно конечно и классом сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 21:56 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Ну, тогда либо сделать тип классом, либо сделать свой класс-коллекцию, работающий именно с этим типом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 14:17 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
в public процедуре или функции использовать private type, enum, etc. нельзя. либо делать процедуру личной, либо тип публичным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 17:38 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Aklin, здесь другая ситуация - см. скриншот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 22:58 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
А в коллекцию нельзя добавть переменную Type тут ни причем. Можно объект или строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 07:46 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
WorobjoffА в коллекцию нельзя добавть переменную Type тут ни причем. Можно объект или строку. переменную можно. но только variant, а в него сконвертировать Type-переменную, объявленную в непаблик модуле - нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 11:29 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Worobjoff, можно, если тип описан как Public Type в классе с Instancing=2 (PublicNotCreatable) или больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 11:37 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Бенедиктможно, если тип описан как Public Type в классе с Instancing=2 (PublicNotCreatable) или больше.А вот это - поподробней если можно. А то что-то не слышал я чтобы в VB6 был боксинг переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 12:01 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Worobjoff, 1) Запускаем VB6. 2) Создаём проект типа ActiveX DLL. Проект уже содержит класс Class1 с Instancing=5 (MultiUse). 3) В модуле класса Class1 пишем: Код: plaintext 1. 2. 3. 5) Делаем вновь созданный проект Project2 стартовым - в Project Explorer правый щелчок на Project2, Контекстное Меню:Set As Start Up. 6) Делаем ссылку в Project2 на Project1 - Меню:Project\References..., ставим галочку на Project1 (5-я строка). 7) Рисуем на Form1 кнопку, пишем обработчик нажатия: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Если откомпилировать Project1, в IDL тип TMyType выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 12:38 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Бенедикт Я подозревал что Type может в структуру скомпилироваться. Иногда, не понятно когда. Да. В C++ структура - то же ссылочный тип. Поэтому его положить в коллекцию можно. Но, в рамках dll, по-моему лучше класс написать. Лишний файл, но работать - проще. Мне бы интересно было типами пользоваться лишь для уменьшения количества файлов в проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 13:00 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Worobjoff, Переменные UDT всегда структуры (с точки зрения C; в этом можно убедиться с помощью LSet или CopyMemory). Про структуру в C++, ccылочный тип и помещение в коллекцию не понял. В коллекцию можно и переменную типа Long положить, с тем же успехом, что переменную UDT - в коллекции будет храниться, с точки зрения программиста на VB, копия переменной, в отличие от ситуации с классом (хранится ссылка). Как это внутри коллекции хранится - её дело, но поскольку Add принимает, а Item возвращает Variant, то логично предположить, что хранится в виде Variant. Можно ли операции преобразования из UDT в Variant и обратно называть boxing и unboxing - не уверен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 15:40 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
Порадовал Бенедикт с IL. Спасибо. Еще предложу рабоче-крестьянское решение боксинга: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 14:42 |
|
||
|
Торможу - в контроле нельзя использовать TYPE ???
|
|||
|---|---|---|---|
|
#18+
sysadm2000Еще предложу рабоче-крестьянское решение боксинга Чем-то вроде 1С повеяло... "Правильный" рабоче-крестьянское "боксинг" двух Long-ов - в Currency: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2006, 16:36 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33755150&tid=2165760]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 468ms |

| 0 / 0 |
