Excelente pregunta.
He estado desarrollando mi aplicación durante más de 10 años, comenzando con Delphi 2, 3 y luego 4 y luego quedándome allí y esperando muchos años to upgrade to Delphi 2009 porque Unicode era imprescindible. Actualizaré de nuevo cuando salga la versión de 64 bits.
Así que he recorrido toda la gama de sistemas operativos: Windows 98, Windows 2000, XP, Vista y ahora 7. Cada uno rompe su interfaz de usuario de alguna manera, pero Delphi ha sido bastante bueno al respecto. En algún punto del tiempo, debe decidir que ya no puede soportar los sistemas operativos más antiguos y pasar a Unicode finally cut out Windows 98 de mi lista compatible.
En general, he encontrado que Core Delphi te ofrece la mejor compatibilidad con la interfaz de usuario. Es posible que algunos paquetes de terceros proporcionen más, pero sus incoherencias son peores que sus beneficios. Minimice otros paquetes donde pueda.
El único objetivo de la IU que he tenido es ir al programa de logotipo de Windows Vista y, más recientemente, al programa de Windows 7 y Microsoft does provide a lot of information sobre cuáles deberían ser los estándares que relacionan las condiciones del 1 al 7 en su pregunta. Pero conseguir un programa Delphi para usar un manifiesto y pasar por los aros de Microsoft fue al final, no me costó la molestia y el costo, especialmente porque mi programa no conforme funcionaba bien en Vista y 7.
Manteniendo mi programa ejecutar y mantener la interfaz de usuario con el mismo aspecto en Windows XP, Vista y 7 cuando estoy desarrollando en una máquina Vista de 64 bits significa que utilizo Microsoft Virtual Machine cuando lo necesito. Me han dicho que mi programa también funciona en Wine, por lo que es otra máquina de prueba.
Ahora responder a sus preguntas:
a) ¿Delphi 2010 aporta nada nuevo a la mesa para ayudar con esta situación?
Sí. Cada versión agrega nuevos componentes de VCL que se han agregado a los nuevos sistemas operativos. p.ej. Se agregaron las nuevas IU de Windows 7.
b) ¿Deberíamos elegir un paquete de componentes del mercado de accesorios y confiar en ellos para resolver todos estos problemas ?, yc) ¿Deberíamos ir con un motor de revisión del mercado de accesorios?
Como dije antes, creo que es mejor hacerlo en Delphi que en un paquete de terceros.
d) Quizás un gui de tipo más html sea el camino a seguir. ¿Podemos hacer una aplicación de interfaz gráfica de usuario relativamente compleja con html que no requiera el uso de un navegador? (prefiero mantenerlo basado en el formulario)
Mi aplicación es como un procesador de textos con texto enriquecido. He visto conjuntos de editores basados en HTML y hay algunos, pero no creo que sea el camino a seguir para una aplicación de escritorio. Si desea una aplicación basada en la web, estaría mejor con .NET y Prism.
e) ¿Deberíamos simplemente manipular y codificar cada uno de estos escenarios y dejar de quejarse al respecto?
Actualice a Delphi 2010 primero. Descubrirá que Delphi se encargará de la mayoría de esas situaciones por usted.
f) Y finalmente, ¿cómo se supone que debemos probar todas estas condiciones?
Hacerlo usted mismo es una gran tarea, incluso con máquinas virtuales. Lo que tienes que hacer es tener una versión beta abierta y obtener tantos usuarios diferentes en diferentes entornos para probar tu programa por ti. Luego, manejará todos los entornos que son más importantes para sus usuarios.
Ahora, si cree que es difícil conseguir la compatibilidad de la interfaz de usuario en diferentes entornos de Windows, simplemente espere hasta que Embarcadero presente su versión de Delphi que se compilará para la Mac. Sus preocupaciones de UI actuales parecerán triviales en comparación con lo que será.
¡Pregunta difícil! No eclipse tiene un sistema perfectamente portátil? (windows, linux, mac, cada sabor) Me estoy adelantando mucho, pero parece recordar que tenía una interfaz gráfica de Java. Realmente no estoy seguro de mi respuesta, es por eso que lo hago un comentario – Shawn