Подход «новичка» к портам Delphi 7/2007 (строки ANSI) к 2009/2010 (строки Unicode) заключается в слепом поиске и замене ВСЕХ вхождений String и замене на AnsiString, аналогично, слепо изменяя все экземпляры Чара АнсиЧару. Это быстро показывает, что это больно, глупо и неправильно. Таким образом, пользователь (не читая руководства по переходу, опубликованные Embarcadero, написанные Ником Ходжесом), отступит и зализывает свои раны, и рассмотрит возможность навсегда остаться с Delphi X (где X находится в наборе [7,2007, myFavouriteVersionHere]) .
Второй подход заключается в загрузке уже обновленных версий любых компонентов, которые вам нужны, и обновлении только тех компонентов, для которых вы действительно не можете найти какой-либо недавно обновленный исходный код, а затем приступите к обновлению кода приложения. .
Я считаю, что это стоит делать, если вы продаете свое приложение за деньги или полагаетесь на то, что ваше приложение принесет какую-то пользу вам или вашей компании. Речь идет не только об обновлении для обработки различий компилятора, но и о модернизации, как вы говорите, для обработки различий платформы. И не только различия в платформах, о которых вы упомянули выше, но и те, о которых вы не упомянули, такие как UAC, а также изменения в разрешениях пользователей для файлов и папок и другие привилегии. Требуется ли вашему приложению возможность записи в папки внутри C: \ Program Files и другие вещи и т. Д.? Это нужно исправить.
Если ваше приложение является типичным «шариком грязи», разработанным поэтапно и без элегантного объектно-ориентированного дизайна, и если (как обычно) ваше приложение даже не соответствует рекомендованным спецификациям, опубликованным Microsoft как часть Windows XP 2002 года, вам действительно нужно наверстать упущенное.
Если это слишком много для вас, вы можете подумать о сокращении работы. Эксперт, возможно, сможет перенести приложение из старой версии Delphi в новую за несколько часов и обучить вас, как выполнять обслуживание с этого момента.