|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.08.2012, 10:42 | #1 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Передача сообщений между окнами
....
private message WM_COPYDATA; .... Код:
Код:
Проблема в том, что приём идёт как-то нестабильно, то есть, то нет. |
29.08.2012, 10:55 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Код:
Код:
|
29.08.2012, 11:01 | #3 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
С П А С И Б О! З А Р А Б О Т А Л О!
|
29.08.2012, 20:01 | #4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Код:
Должно быть: Код:
Код:
Код:
Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
29.08.2012, 20:57 | #5 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Код:
Последний раз редактировалось Человек_Борща; 29.08.2012 в 21:01. |
|
29.08.2012, 21:13 | #6 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Это верно, но только если речь идёт об обмене данных внутри одной программы (и даже - одного модуля). Как только ты выставляшь обмен данными наружу, то String, Char, PChar - уже "вне закона". Потому что это не настоящие типы, а псевдонимы. И они могут переопределяться. Поэтому простая перекомпиляция может изменить состояние с "работает" на "не работает" и обратно.
Вместо типов с плавающим размером нужно использовать типы с фиксированным размером (AnsiString, AnsiChar, PAnsiChar, UnicodeString, WideChar, PWideChar, UTF8String, WideString). Я использовал UTF-8, но это не принципиально. Можно было и UTF-16. А вот использовать ANSI для внешнего обмена будет уже не такой удачной идеей. Но в любом случае, главное - не String/Char.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
29.08.2012, 22:27 | #7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
|
|
29.08.2012, 22:36 | #8 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Примерно да. В обоих случаях при обмене обе стороны должны использовать компиляторно-независимый формат данных.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
29.08.2012, 22:48 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
GunSmoker, значит и в C++ оно тоже актульно?
|
29.08.2012, 22:53 | #10 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Разумеется. К примеру, _TCHAR (аналог Char в Delphi) - это маппинг или на char (аналог AnsiChar в Delphi) или на wchar_t (аналог WideChar в Delphi).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переходы между окнами | Ark | Общие вопросы Delphi | 5 | 22.04.2009 00:22 |
Как сделать так, чтобы переключение между окнами было автоматическим? | barand | Свободное общение | 9 | 07.07.2008 23:54 |
Копирование файлов и каталогов перетаскиваением между двумя окнами | SANTA_KLAUD | Общие вопросы Delphi | 3 | 28.05.2008 21:52 |
Передача данных между окнами/приложениями? | Dexer | Win Api | 11 | 23.05.2007 16:23 |
Как запретить переход между диалоговыми окнами. | dnkR | Общие вопросы Delphi | 1 | 18.01.2007 06:59 |