|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
1. int32,int16,integer,intPtr VB6 Код: vbnet 1. 2. 3.
.NET Код: vbnet 1. 2. 3.
Я для себя так понял: hwnd, hdc, h<то-то>: Long -> IntPtr все остальное обычно Long -> Integer (типа DWORD) Или м.б. Int32? Как правильно? Вроде это одно и то же? Или не совсем? Компилирую все на XP 32-бит, работает естественно и на x64. Integer - > Int 16 (типа WORD) В MSDN естественно смотрю, когда переписываю. Поправьте, как правильно. 2. Типы -> структуры VB6 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
.NET Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Меня смущает Private в объявлении структуры, и Public в объявлении элементов. Без Public внутри не фурычит. Public в объявлении структуры писать не рискую, в VB6 по возможности делаю Private в Type (в модуле или форме). Поясните. 3. В API часто встречается Function "FunctionA" (ANSI) Function "FunctionW" (Unicode) В VB6 обычно декларирую как "FunctionA". А какие рекомендации по поводу .NET? Я так понимаю он на Юникод по умолчанию ориентирован. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:31 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий772. Типы -> структуры VB6 Код: vbnet 1. 2. 3. 4. 5. 6.
.NET Код: vbnet 1. 2. 3. 4. 5. 6.
Меня смущает Private в объявлении структуры, и Public в объявлении элементов. Без Public внутри не фурычит. Public в объявлении структуры писать не рискую, в VB6 по возможности делаю Private в Type (в модуле или форме). Поясните. Сдается мне, что правильный "перевод" будет: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 01:39 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77Не?А студия что на это говорит? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 12:48 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77, 1.1 Тип возвращаемого значения функции DrawIconEx лучше сделать Boolean. 1.2 Integer и System.Int32 это один и тот же тип. 2.1 К WinAPI структурам имеет смысл добавдять атрибут StructLayout чтобы .NET гарантировано не менял порядок полей в памяти. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
2.2 Я заменил модификатор Private на Friend т.к. скорее всего он здесь больше подходит. Это означает что DRAWITEMSTRUCT будет доступна всем типам в этой сборке, но не за ее пределами. На твоем месте я бы создал модуль где собрал бы все объявления функций и структур данных WinAPI чтобы не смешивать их с основным кодом. 2.3 Модификатор на уровне структуры указывает права доступа других типов из этой и других сборок. Модификатор на уровне класса/структуры устанавливает права доступа для всех внешних потребителей. Private поле доступно только внутри самого типа. 3. .NET автоматически использует Unicode версию WinAPI функции поэтому указывать суффикс нет нужды. Тем более что многие *A функции вызывают *W версию что только добавляет лишние накладные расходы. P.S. Ты переходишь на .NET с VB6 и отсюда привычка полагаться на WinAPI. В .NET многие вещи уже реализуются собственными классами и зачастую нет никакой необходимости вызывать WinAPI. Например, для вывода иконки можно использовать класс PictureBox или Graphics . Если аналог WinAPI отсутствует, то смотри как их нужно объявлять на сайте pinvoke.net . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 13:26 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
bazile, буду переваривать потихоньку. Сразу вопрос: bazile...Например, для вывода иконки можно использовать класс PictureBox или Graphics . Контекст: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Совсем без API я тут не могу, это MainMenu(NET) а не MenuStrip (не хочу т.к. отсутствует поддержка родных Vista-стилей). Я пытался придумать с Graphics, но ничего не придумал. На что заменить DrawIconEx? Рисовать надо на hdc . А я так понимаю с hdc в .NET что-то не очень. (конкретно момент с рисовкой иконки на hdc вместо DrawIconEx) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 18:18 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77, вместо этого кода лучше написать обработчик события MenuItem.DrawItem. Ему передается аргумент типа DrawItemEventArgs с полем Graphics у которого есть метод DrawIcon. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 20:21 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77А я так понимаю с hdc в .NET что-то не очень. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 21:24 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2013, 01:05 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Antonariy, Изопропил, вы не смотрели мой код (API-шный), там hdc уже есть как элемент dm as DRAWITEMSTRUCT Про GetHdc (например формы) я прочитал и это уже проделал (и кстати не надо забывать про ReleaseDC - и в .Net тоже -Antonariy сам когда-то обратил мое внимание на это). Вопрос в этом контексте был задан Как нарисовать на hdc вместо DrawIconEx, т.е. .Net методами (hdc искать не надо, оно уже известно). Полностью правильный совет (с т.зр. что это .Net) конечно вот этот: bazileДмитрий77, вместо этого кода лучше написать обработчик события MenuItem.DrawItem. Ему передается аргумент типа DrawItemEventArgs с полем Graphics у которого есть метод DrawIcon. И я об этих штуках подумал с самого начала: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Bazile, спасибо, почти убедил. Но возникает непраздный вопрос, который я вынес в отдельный топик: Как сделать событие Handle на "все элементы одного типа" И мне нужен ответ на него, иначе дальше двигаться ой как нелегко. Ведь API-шный вариант: WM_DRAWITEM + ODT_MENU универсален ДЛЯ ВСЕХ пунктов меню, а добавить (например) 40 хэндлов для .NET обработчика (каждого пункта меню) -задолбаешься. Поможете? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2013, 04:29 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
bazile2.1 К WinAPI структурам имеет смысл добавдять атрибут StructLayout чтобы .NET гарантировано не менял порядок полей в памяти. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
2.2 Я заменил модификатор Private на Friend т.к. скорее всего он здесь больше подходит. Это означает что DRAWITEMSTRUCT будет доступна всем типам в этой сборке, но не за ее пределами. На твоем месте я бы создал модуль где собрал бы все объявления функций и структур данных WinAPI чтобы не смешивать их с основным кодом. 2.3 Модификатор на уровне структуры указывает права доступа других типов из этой и других сборок. Модификатор на уровне класса/структуры устанавливает права доступа для всех внешних потребителей. Private поле доступно только внутри самого типа. <StructLayout(LayoutKind.Sequential)> -пожалуй приму по принципу "надо так надо". По поводу Friend Structure -скорее буду это писать там где был Public Type . Не совсем понимаю разницу между Friend и Public , но парочка тестов показывает что Friend это скорее Public и точно не Private. По поводу объявлять структуры/ф-ции и т.д. в одном модуле как Public/Friend не люблю. Последнее время стараюсь объявлять как Private в модуле где это нужно. С кодом не мешаю, все объявления сверху, код ниже. Часто бывает, содрал где-то один модуль с Public, потом другой с Public того-же самого, да еще и записано не совсем так (а в VB с API особенно это сплошь и рядом), потом лезут ошибки, разруливать которые не всегда легко. И начинаешь нервно менять Public на Private и не понимать почему в том проекте работало а в этом тот же код не хочет работать. И Dim для членов структуры как-то красивше выглядит. Посему и с учетом сказанного вами возьму пока за правило: Код: vbnet 1. 2. 3. 4.
Ну а уж где Private недостаточно (нужен доступ из другого модуля), пусть будет Friend Код: vbnet 1. 2. 3. 4.
А там поживем-увидим. ======= bazile3. .NET автоматически использует Unicode версию WinAPI функции поэтому указывать суффикс нет нужды. Тем более что многие *A функции вызывают *W версию что только добавляет лишние накладные расходы. Насчет "указывать суффикс нет нужды" наверно погорячились, по крайней мере с тем VB-синтаксисом что я использую. Без указания Alias "*W" либо Alias "*A", прога ругается. Я думаю не будет ошибкой (с учетом сказанного) везде указывать *W (где есть A и W варианты). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 02:24 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77Не совсем понимаю разницу между Friend и Public, но парочка тестов показывает что Friend это скорее Public и точно не Private. Public тип доступен из другой сборки, Friend тип нет. Что такое сборки можно прочитать в книге Рихтера CLR via C#. Примеры в ней приводятся на C#, но относятся к .NET в целом поэтому советую ее прочитать в любом случае. Дмитрий77По поводу объявлять структуры/ф-ции и т.д. в одном модуле как Public/Friend не люблю. Последнее время стараюсь объявлять как Private в модуле где это нужно. Делай как тебе удобнее, но подумай над тем что функции и структуры WinAPI не принадлежат твоему коду поэтому "прятать" их особого смысла нет. Вынеся их в отдельный модуль ты дашь себе возможность повторного использования этих деклараций в любом месте кода. Дмитрий77И Dim для членов структуры как-то красивше выглядит. Для сведения - Dim VarName As TypeName эквивалентно Private Dim VarName As TypeName или просто Private VarName As TypeName. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 13:13 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
bazileв книге Рихтера CLR via C#. OK, скачал. Буду почитывать параллельно. Пока тупо изучил Зибиров Visual Basic 2010 на примерах, детсад конечно, но по крайне мере перестал путаться в новой студии (как создавать, сохранять проекты, добавлять ссылки и т.п.) и чего-то общее уловил. Единственное, про Web/ASP читать не стал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2013, 16:12 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
bazileДмитрий77По поводу объявлять структуры/ф-ции и т.д. в одном модуле как Public/Friend не люблю. Последнее время стараюсь объявлять как Private в модуле где это нужно. Делай как тебе удобнее, но подумай над тем что функции и структуры WinAPI не принадлежат твоему коду поэтому "прятать" их особого смысла нет. Вынеся их в отдельный модуль ты дашь себе возможность повторного использования этих деклараций в любом месте кода. А вообще ты прав. У меня раньше (давно) был следующий принцип(вернее его отсутствие): Писать преимущественно public как в скачанном первоисточнике, а потом - достанется оттуда - хорошо, не достану -нарисую заново. За последние годы выработался такой подход: Писать преимущественно Private - т.е. те константы-ф-ции что нужны в данном модуле. Желательно без избытка (т.е. не переписываю туда главу мсдн, а пишу 2-3 нужные константы) Т.е. одна и та же ф-ция может быть объявлена 5 раз в разных модулях, но они друг другу не мешают за счет Private, как например SendMessage (...byRef as Any) SendMessage(...ByVal as Long) -обычно в VB6 обзывается как SendMessageLong Но это согласен не очень удобно. Забываешь, ищешь опять эти константы поиском в MSDN, Google, в собственных проектах, из своих же старых топиков на этом форуме и т.д. Не очень удобно, джентльменский набор то в общем то "для меня стандартный". Т.е. идея правильная. Думаю допишу свой "первый тестовый" .Net проект (как есть с multi-Privat привычкой) и попробую перетасовать под конец. Предполагаю что будет какое-то к-во модулей с константами, декларациями API, м.б. какими-то базовыми ф-циями (не относящимися жестко к проекту). ListView, Treeview, Toolbar, Rebar, окна, и т.д. Но дальше я начинаю писать другой проект. Что я делаю. Нужна какая-то ф-ция - создаю модуль, копирую модуль из первого проекта в него. Потом дописываю туда еще чего-то - новые константы и т.д. Дык вот. Как сделать так чтобы все "стандартные базовые модули" лежали б в одном месте, не копировались в проект, но при этом были б доступны из любого проекта? (речь идет о МОИХ текстовых модулях). Может мне кто-то это объяснить по простому как так сделать? (ну типа как в C++ я указываю пути к какому нибудь Windows 2003 SDK (dll,exe, src и т.д.) и он оттуда видит .h файлы). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 12:04 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77 Может мне кто-то это объяснить по простому как так сделать? Solution в студии сделай ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 13:25 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77, создай проект Class Library с необходимыми декларациями и подключай его как reference к нужным проектам. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 14:12 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
bazileДмитрий77, создай проект Class Library с необходимыми декларациями и подключай его как reference к нужным проектам. Я попробовал, но что-то мне не очень понравилось, скорее не понравилось. 1) должен указывать "ссылки" при изготовлении самой Class Library. Но это ладно. 2) У меня в основном "модули" а не "классы", а ф-ции этих модулей при подключении Class Library через "ссылку" не видны, видны только классы. Я тут другой способ придумал. Кладешь все общие модули-классы в одну папку. А в проект подключаешь Проект -> Существующий элемент -> Добавить как связь. Он в папку не копируется, и работаешь с оригинальным модулем "последней версии", параллельно можно добавлять чего-то сразу в "оригинал", а компилируется все точно также. Чем не вариант? Единственное, если например захотел скомпилировать старую версию, а там что-то переделано (а не дописано). Ну, можно как вариант их копировать в проект на финальной стадии (не такая уж частая операция и не так уж у меня много проектов). Ну, это уже заморочки кот. каждый для себя сам как то решает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 23:50 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77У меня в основном "модули" а не "классы" нет никаких "модулей" , это просто статические классы ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 23:59 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Изопропилнет никаких "модулей" , это просто статические классы да читал я про это модули в Class Library добавил, ссылку на Class Library добавил, ф-цию этого "статического класса" как вызвать не знаю. Слушай, мне чего простых ссылок на модули не хватит, когда я в них могу лазить привычным образом и сразу что-то добавлять. Потом проект со "ссылками" выглядит точно так же как с "оригиналами". Эту class library еще за собой таскать небось надо. Зачем мудрить? Exe-шник типа на 50kb легче будет? Мне по хорошему не в лом все эти модули в проект засовывать. Но интересна возможность их параллельной модернизации по мере написания проектов (единство "версии" так сказать). А то в одном модуле одно, в другом другое, при этом одно и то же в нескольких разных модулях, вот это честно уже надоело. bazile тут прав, и я об этом тоже уже давно думал. Счас по полочкам разложил, пусть и дальше порядок будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 00:21 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Это не для уменьшения размера а для нормальной организации проектов Самому ж не нравится копипаст модулей ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 00:29 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Изопропил, конечно не нравится. Но ссылки то на модуль думаю достаточно. Кстати счас проверил, в VB6 если добавить "существующий", то он не копируется в папку с проектом. И че я этим не пользовался... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 00:38 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77Я попробовал, но что-то мне не очень понравилось, скорее не понравилось. 1) должен указывать "ссылки" при изготовлении самой Class Library. Но это ладно. 2) У меня в основном "модули" а не "классы", а ф-ции этих модулей при подключении Class Library через "ссылку" не видны, видны только классы. 1) Если ты о ссылках на другие сборки, то это делается один раз и на недостаток никак не тянет 2) Они не видны т.к. не хватает директивы Imports. 2.1) Добавь директиву Imports с именем "Root Namespace" из свойств проекта. По умолчанию оно совпадает с именем проекта. ИЛИ 2.2) Открой свойства проекта где будешь использовать библиотеку и на закладке References выбери свой Imported Namespace Кстати плохо что юзаешь модули. Классы можно объвлять как Partial разбивая их на части. Для внешних функий самое-то. То что надо будет перед именем функции еще писать имя класса это мелочь. Попробуй сделать Public Shared Class Win32 и в нем объявлять фукнции и структуры для WinAPI. Дмитрий77Мне по хорошему не в лом все эти модули в проект засовывать. По-моему проще добавить ссылку на одну библиотеку, чем добавлять несколько модулей. Дмитрий77Эту class library еще за собой таскать небось надо. Можно "таскать", а можно положить в GAC и она автоматически будет доступна всем приложениям которые её используют. Причем без перекомпиляции этих приложений. Дмитрий77И че я этим не пользовался... Остановись пока не поздно. В .NET лучше выность общую функциональность в отдельную сборку. В будущем будет проще поддерживать проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 02:14 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
bazile1) Если ты о ссылках на другие сборки, то это делается один раз и на недостаток никак не тянет 2) Они не видны т.к. не хватает директивы Imports. 2.1) Добавь директиву Imports с именем "Root Namespace" из свойств проекта. По умолчанию оно совпадает с именем проекта. ИЛИ 2.2) Открой свойства проекта где будешь использовать библиотеку и на закладке References выбери свой Imported Namespace Да делал я все это. Но ф-ции которые в модулях то не видны. 4 класса вижу, в крайнем случае на стрелочку с ошибкой нажимаю и Imports добавляю. А 15 модулей с API и своими общими ф-циями - не вижу. Я уж понял, что на классы надо переделывать. bazileКстати плохо что юзаешь модули. Классы можно объвлять как Partial разбивая их на части. Для внешних функий самое-то.Не знаю. Так привык и трудностей не испытываю. Это вопрос привычки. В VB6 тоже любителей классов хватает. (P.S Еще любителей всяких ocx-ов b active-x-ов которые я искренне ненавижу) bazile То что надо будет перед именем функции еще писать имя класса это мелочь..Ну не скажи. Рутины хватит. bazileПопробуй сделать Public Shared Class Win32 и в нем объявлять фукнции и структуры для WinAPI... В один модуль все лепить не хочу, надо как то разделять по смыслу. Это я счас один проект доделал, у меня уже 15 "общих" модулей. Переделывать это все на "классы" - честно, не хотелось бы. bazileДмитрий77Мне по хорошему не в лом все эти модули в проект засовывать. По-моему проще добавить ссылку на одну библиотеку, чем добавлять несколько модулей.... Проще то проще. Но перекомпилировать эту библиотеку каждый раз когда надо добавить туда константу точно не проще. Я ж как понимаешь не весь MSDN туда импортирую, а по мере необходимости. А делая как я придумал можно править текущую "сборку" (папку с модулями) на ходу, причем из любого проекта. !Но лучше думаю по окончании работы над версией проекта перенести тек. модули в него - для обратной совместимости - вдруг "тек. версия модулей" изменится на столько, что старый проект не скомпилируется (или ошибки не увижу). Да не, нормально все. Счас первый клон доделал, НЕ ХУЖЕ чем был в VB6 получился. Месяц убил, но по крайней мере все в чистовике сделал и в .Net малость освоился. API используется значительно меньше чем в VB6. Работа с файлами, с реестром, с системой -API вообще не нужны. Стили, манифесты, 32-битные иконки -в общем неплохо, почти все решаемо. GDI+ имеется встроенное,это пригодится. С сабклассингом через NativeWindow надо глядеть в оба, но Help без него бы не доделал, классический сабклассинг надежнее тогда когда его надо снять/поставить на ходу, но вот с Help вылетает также как и в VB6, даже не стал разбираться. Контролы - отдельная песня, но в целом они более обучены. Label's конечно вчера огорчили конкретно с этим мазюканьем. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 03:28 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77Проще то проще. Но перекомпилировать эту библиотеку каждый раз когда надо добавить туда константу точно не проще. ты не поверишь, VS делает это самостоятельно (если ты конечно проекты в solution соберёшь) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 08:52 |
|
Типы (int32,int16,integer,intPtr) -в VB6 обычно long, структуры Public/Privat, A/W-Unicode
|
|||
---|---|---|---|
#18+
Дмитрий77Да делал я все это. Но ф-ции которые в модулях то не видны. Видимо ты забыл указать модификатор доступа Public потому что у меня все прекрасно видится. Дмитрий77Проще то проще. Но перекомпилировать эту библиотеку каждый раз когда надо добавить туда константу точно не проще. Это решается путем включения проекта с библиотекой в solution. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2013, 13:24 |
|
|
start [/forum/topic.php?fid=20&msg=38396919&tid=1403821]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 190ms |
0 / 0 |