Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синхронизация приложений 
V
    Опции темы
bems
Дата 15.9.2009, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(kami @  15.9.2009,  19:03 Найти цитируемый пост)
len:=Stream.Size;
SetLength(str, len div SizeOf(Char));
Stream.Read(str[1], Len);

ну да, верно. Если записывалось этим же кодом, скомпилированом в той же версии.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
kami
Дата 15.9.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(bems @  15.9.2009,  21:43 Найти цитируемый пост)
 Если записывалось этим же кодом, скомпилированом в той же версии.

Действительно.
То есть и здесь нужно делать "соглашение о вызовах"... либо и там и там WideString либо AnsiString...
Как все непросто с этим unicode...
PM MAIL WWW   Вверх
bems
Дата 15.9.2009, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



имхо лучше везде записывать unicode, а код продублировать для разный делфей. Ну а там где встроенного нет - преобразовывыть руками. Зато никаких неопределенностей между модулями.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
former
Дата 15.9.2009, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 5
Всего: 17



Цитата(bems @  15.9.2009,  22:14 Найти цитируемый пост)
имхо лучше везде записывать unicode, а код продублировать для разный делфей. Ну а там где встроенного нет - преобразовывыть руками. Зато никаких неопределенностей между модулями. 

Это уже к вопросу о переносимости кода. А если таких сток много и под несколько версий нужно делать.
ИМХО: лучше все же использовать 
Цитата(kami @  15.9.2009,  21:59 Найти цитируемый пост)
"соглашение о вызовах"




--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
bems
Дата 15.9.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Ну и чем же лучше?
Если используется это ваше соглашение (в начале строки есть информация о кодировке), то модуль скампилированый в ansi-версии должен уметь преобразоватьб для себя в ansi. Аналогично уникодный модуль - в уникод (и при этом возникает весьмя явная неопределенность с кодовой страницей, которую тоже нужно включать в соглашение).

В то время как мой вариант (для уникодной версии использовать только встроенные механизмы, а для анси - преобразование) по сложности остаётся полностью "нутри" первого. Это значит что преобразования есть и там и там (только у меня они зависят только от версии дельфи) и нет потерь кодовой страницы.

Добавлено через 3 минуты и 8 секунд
Или (лучше всего) все машины в сети скомпилированы в одной версии. Если есть исключения - это их проблема и им нужно обновиться. И лучше бы этой версией была уникодная.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
former
Дата 16.9.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 5
Всего: 17



Цитата(bems @  15.9.2009,  23:05 Найти цитируемый пост)
Или (лучше всего) все машины в сети скомпилированы в одной версии.

Само собой.
Цитата(bems @  15.9.2009,  23:05 Найти цитируемый пост)
И лучше бы этой версией была уникодная. 

Так оно и есть.
Я имел виду  при создании компонент (для примера).


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.