[RELEASE&HELP] Server Setup Tool 3
- Darth Revan
- Майор
- Сообщения: 784
- Зарегистрирован: 30.09.2008
- Поблагодарили: 1 раз
- Контактная информация:
MOZGIII
Если ты с Ansi, то да. Но неужели столько экспортов, что это сделать проблематично? И в новых дельфях никто не пинает использовать Ansi (кроме KOL, конечно).
Если ты с Ansi, то да. Но неужели столько экспортов, что это сделать проблематично? И в новых дельфях никто не пинает использовать Ansi (кроме KOL, конечно).
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Darth Revan
Хм, а разве в сях PChar тоже означает ссылку на Unicode строку? Я думал что PChar в стрых дельфях - который не на юникоде - это стандарт для такого межъязыкового взаимодействия, разве нет?
Хм, а разве в сях PChar тоже означает ссылку на Unicode строку? Я думал что PChar в стрых дельфях - который не на юникоде - это стандарт для такого межъязыкового взаимодействия, разве нет?
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Не, ну там Р в любом случае, а на Char или WideChar этот Р указывает - решать тебе.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
MOZGIII Да, в старых версиях (до Delphi2009) тип PChar был равносилен pAnsiChar, а теперь он равносилен pWideChar (с string тоже самое - была AnsiString, а стала WideString).
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
andreil
Только не WideString а UnicodeString - потому что WideString это простой тип, а UnicodeString - магический, с поддержкой счётчикоа ссылок.
$t@t!c_V()1D
Насчёт P - если использовать PWideChar народ не будет ругаться особо?
всем
Мне собстенно хотелось бы реализовать прозрачное конвертирование одного record в другой, с помощью известного RTTI. Так можно вообще? Если да - то по нему мне и нужна помощь :)
А вообще ведь можно реализовать это (SDK для C/C++) через отдельный плагин - тоесть плагины, подключающиеся к плагину... Особой практической разницы там не будет, разве что работа всего этого будет организована немного хитро... Но это я так, вообще о перспективах и вариантах %) Если вам нравиться такая идея - плагин-гейтвей для других плагинов - я так и сделаю. Иначе реализую это в самой проге, скажем будут 2 типа плагинов - первые, которые будут работать на дельфи и с общими типами, с расширением dplg, вторые - на c и других языках - cplg. (Но этот вариант маловероятен, по крайней мере ещё не скоро будет, потому-что пока-что интерфейсы плагинов нестабильны и скорее всего будут меняться)
Добавлено спустя 59 минут 38 секунд:
Так, мне нужно, чтобы кто-нибудь заполнил новые свойства xml файлов и кинул мне в архиве новые файлы. Новые поля - это:
Это BinDir и SrcDSPath - чтобы их заполнить мне нехватает данных... Кстати может вывесить разъяснения по значениям полей?
Только не WideString а UnicodeString - потому что WideString это простой тип, а UnicodeString - магический, с поддержкой счётчикоа ссылок.
$t@t!c_V()1D
Насчёт P - если использовать PWideChar народ не будет ругаться особо?
всем
Мне собстенно хотелось бы реализовать прозрачное конвертирование одного record в другой, с помощью известного RTTI. Так можно вообще? Если да - то по нему мне и нужна помощь :)
А вообще ведь можно реализовать это (SDK для C/C++) через отдельный плагин - тоесть плагины, подключающиеся к плагину... Особой практической разницы там не будет, разве что работа всего этого будет организована немного хитро... Но это я так, вообще о перспективах и вариантах %) Если вам нравиться такая идея - плагин-гейтвей для других плагинов - я так и сделаю. Иначе реализую это в самой проге, скажем будут 2 типа плагинов - первые, которые будут работать на дельфи и с общими типами, с расширением dplg, вторые - на c и других языках - cplg. (Но этот вариант маловероятен, по крайней мере ещё не скоро будет, потому-что пока-что интерфейсы плагинов нестабильны и скорее всего будут меняться)
Добавлено спустя 59 минут 38 секунд:
Так, мне нужно, чтобы кто-нибудь заполнил новые свойства xml файлов и кинул мне в архиве новые файлы. Новые поля - это:
Новый XML файл
- Darth Revan
- Майор
- Сообщения: 784
- Зарегистрирован: 30.09.2008
- Поблагодарили: 1 раз
- Контактная информация:
MOZGIII
Я всего-лишь имел в виду, что ShareMem'ы могут иметь проблемы. Да и толку от них...
Дельфисты с лёгкостью могут из AnsiString перевести в PAnsiChar. Зачем нужно мудрить с ShareMem?
На WinAPI никто не жалуется.
Я всего-лишь имел в виду, что ShareMem'ы могут иметь проблемы. Да и толку от них...
Дельфисты с лёгкостью могут из AnsiString перевести в PAnsiChar. Зачем нужно мудрить с ShareMem?
На WinAPI никто не жалуется.
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Что есть что в xml файле
Darth Revan
Толк от ShareMem-ов в том, что можно передавать типы, удаление которых из памяти Delphi обеспечивает автоматически без проблем, и к томуже, так можно сразу оперировать данными, с которыми программа работает после обмена с длл (для внутренней организации), а так придётся обрабатывать и делать конвертацию всех PWideChar в String, а уже потом записывать в record-ы с которыми идёт работа (переписать всю программу с использованием PWideChar вместо String везде, а не только в плагинах, меня ничто не заставит %) )
Кстати что ты имееш против ShareMem-ов?
И кстати я использую Delphi 2010 и обычный String, что != AnsiString.
Добавлено спустя 28 минут 33 секунды:
Гляньте, пытаюсь написать плагин для подключения .cplg плагинов %)
Напоминаю .cplg - это те, которые на C/C++.
Итак, вот что пока-что получается (нехочу возиться с архивами - поэтому сразу в сообщении)
Код тут
Обновил SDK до 4-й версии, добавилось 2 поля (об игре)
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Не надо никаких замут с РТТИ и т.п. Для Си всё должно быть как можно проще. Если мутить с записями (структурами), то в юните нужно {$Z4} (я могу PhxApi.pas и PhxApi.h тебе скинуть)
Если WideChar, то ладно - функции конвертации из Юникода в Анси есть если что. Главное, чтоб это было раз и навсегда.
Добавлено спустя 3 минуты 11 секунд:
И не надо делать отдельно обработку Си и Дельфиновых плагинов - замучаешься. Лучше всё "под одной крышей".
Если WideChar, то ладно - функции конвертации из Юникода в Анси есть если что. Главное, чтоб это было раз и навсегда.
Добавлено спустя 3 минуты 11 секунд:
И не надо делать отдельно обработку Си и Дельфиновых плагинов - замучаешься. Лучше всё "под одной крышей".
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
$t@t!c_V()1D
Не очень понял зачем Z4... В си под структуры всегда по 4 байта дают?
А насчёт под одной крышей - не уверен, через опен-сорс плагин для взаимодействия может оказаться удобнее. Я если честно в С/C++ дальше прогинга простого приложения с WebBrowser-ом для своего кпк не продвигался (синтаксис знаю на 50% - только то что в остальных языках похоже на С, других особенностей языка и различных компиляторов - процента на 2). Поэтому, мне бы надо что-нибудь типо подсказок %) Желательно вообще - написать плагин на С, а потом, основываясь на нём, прикручивать к проге взаимодействие с ним... Кароче в кодинге на си у меня опыта нету, нужна помощь %)
Не очень понял зачем Z4... В си под структуры всегда по 4 байта дают?
А насчёт под одной крышей - не уверен, через опен-сорс плагин для взаимодействия может оказаться удобнее. Я если честно в С/C++ дальше прогинга простого приложения с WebBrowser-ом для своего кпк не продвигался (синтаксис знаю на 50% - только то что в остальных языках похоже на С, других особенностей языка и различных компиляторов - процента на 2). Поэтому, мне бы надо что-нибудь типо подсказок %) Желательно вообще - написать плагин на С, а потом, основываясь на нём, прикручивать к проге взаимодействие с ним... Кароче в кодинге на си у меня опыта нету, нужна помощь %)
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Как бы, да. В Дельфине по умолчанию - выравнивание 8 байт.MOZGIII писал(а):Не очень понял зачем Z4... В си под структуры всегда по 4 байта дают?
Что ж, если ещё когда-нибудь доберусь до нормальных интернетов, то может и помогу чем.MOZGIII писал(а):Желательно вообще - написать плагин на С, а потом, основываясь на нём, прикручивать к проге взаимодействие с ним... Кароче в кодинге на си у меня опыта нету, нужна помощь %)
Добавлено спустя 5 минут 59 секунд:
MOZGIII
И ещё я вот что скажу: LUA - это сила.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
$t@t!c_V()1D
А по-моему по-умолчанию Z1, что равно 1 байт?
Кстати нормальный LUA интерпритатор под Daelphi я так и не нашел (хотя много раз искал) %)
А по-моему по-умолчанию Z1, что равно 1 байт?
Кстати нормальный LUA интерпритатор под Daelphi я так и не нашел (хотя много раз искал) %)
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
MOZGIII
Статик прав, по дефолту во всех версиях стоит выранивание в 8 байт ;)
Статик прав, по дефолту во всех версиях стоит выранивание в 8 байт ;)
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
andreil, $t@t!c_V()1D
Ок, 8 так 8, тока я всё ровно никак длл сишкую к своей проге не подключу :(
Насчёт LUA и Delphi - никто ничего не слышал?
Ок, 8 так 8, тока я всё ровно никак длл сишкую к своей проге не подключу :(
Насчёт LUA и Delphi - никто ничего не слышал?
- x_000
- Полковник
- Сообщения: 4889
- Зарегистрирован: 25.02.2008
- Откуда: Deutsches Reich
- Благодарил (а): 6 раз
- Поблагодарили: 18 раз
собственно говоря
что-то вы тут жуть какую-то насчет плагинов устроили
все должно быть НАМНОГО проще
суть такова
плагины будут в виде длл-ок, каждый из них экспортирует функцию, которую программа вызывает для инициализации, также программа предоставляет АПИ для взаимодействия с ней
все
и никаких заморочек
что-то вы тут жуть какую-то насчет плагинов устроили
все должно быть НАМНОГО проще
суть такова
плагины будут в виде длл-ок, каждый из них экспортирует функцию, которую программа вызывает для инициализации, также программа предоставляет АПИ для взаимодействия с ней
все
и никаких заморочек
-
- Разработчик
- Сообщения: 302
- Зарегистрирован: 17.03.2008
- Откуда: такие как я?
- Поблагодарили: 2 раза
- Контактная информация:
x_000
Правельно, у длл плагина должна быть всего одна функция типа int PluginMain(int cmd, int arg1, int arg2, ....);
И у самой программы должен быть интерфейс типа CreateInterface как у стима.
Правельно, у длл плагина должна быть всего одна функция типа int PluginMain(int cmd, int arg1, int arg2, ....);
И у самой программы должен быть интерфейс типа CreateInterface как у стима.