Tengo una pregunta larga para hacer. En primer lugar, sigo siendo muy nuevo en lo que respecta a la programación de Delphi y mi experiencia se basa principalmente en el desarrollo de pequeñas aplicaciones de bases de datos de usuario único utilizando ADO y una base de datos de Access.Aplicación Delphi Cliente-Servidor usando Firebird 2.5 error de conexión incrustada
Necesito tomar la transición ahora a una aplicación de servidor cliente y aquí es donde comienza el problema. Decidí usar Firebird 2.5 Embeded como mi base de datos, ya que es de código abierto, y se puede usar con los componentes de interfase en Delphi y que múltiples clientes pueden acceder a la base de datos de forma simultánea. Así que seguí el tutorial de interbase en Delphi. Logré conectar el cliente al servidor y ver los datos en el ejemplo (mientras ambos se ejecutan en mi pc), pero cuando traté de mover el cliente a otra PC, mantener el servidor en el mío y ejecutarlo para ver si puedo conectarme al servidor me dio el siguiente error.
Excepción EIdSocketError en el módulo clientDemo.exe en 0029DCAC. Socket Error # 10061 Conexión rechazada.
Entiendo que esto podría deberse a que el host se define como localhost en el cliente. Pero aquí está mi primera pregunta. En TSQLConncetion, puede establecer el nombre de host de la matriz en Driver-> Hostname. Lo que quiero saber es cómo hacer esto en tiempo de ejecución, ya que no puedo obtener la propiedad cuando intento crear un cuadro de edición para permitir que el usuario ingrese el valor y luego establecerlo a través de un código como por ejemplo:
SQLConncetion1.Driver.Hostname: = edtHost.text; Esto no se puede hacer de esta manera y la única manera que veo es configurar el nombre de host con el inspector de objetos, pero eso no está disponible en tiempo de ejecución y necesito establecer el nombre de host en el cliente cuando el programa se ejecuta por primera vez, Entonces, ¿cómo se establece el nombre de host/dirección IP en tiempo de ejecución?
Im usando Delphi XE2
Todavía hay muchas preguntas por venir sobre todo cuando se trata de la implementación, pero voy a tomar esta pieza por pieza y agradezco el consejo.
No reinventar la rueda. Usted tiene nuestro ORM Cliente-Servidor de código abierto con Arquitectura orientada a servicios que usa JSON y SQLite3 llamado [mORMot] (http://synopse.info/fossil/wiki?name=SQLite3+Framework). Al menos vale la pena mirar el código o leer la documentación de 700 páginas para obtener algunas ideas de diseño o implementación. –