Ho una lunga domanda da porre. Prima di tutto Im ancora molto nuovo per quanto riguarda la programmazione Delphi e la mia esperienza è stata per lo più lo sviluppo di piccole applicazioni di database per utente singolo utilizzando ADO e un database di Access.Applicazione client-server Delphi con errore di connessione incorporato Firebird 2.5
Ho bisogno di passare ora a un'applicazione client server ed è qui che inizia il problema. Ho deciso di utilizzare Firebird 2.5 come mio database, poiché è open source e può essere utilizzato con i componenti interbase in Delphi e che più client possono accedere al database simultaneamente. Così ho seguito il tutorial interbase in Delphi. Sono riuscito a connettere il client al server e vedere i dati nell'esempio (Mentre entrambi sono in esecuzione sul mio pc), ma quando ho provato a spostare il client su un altro pc, mantenendo il server sul mio e eseguendolo per vedere se io può connettersi al server mi ha dato il seguente errore.
Eccezione EIdSocketError nel modulo clientDemo.exe in 0029DCAC. Errore socket n. 10061 Connessione rifiutata.
Capisco che questo potrebbe essere perché l'host è definito come localhost nel client. Ma ecco la mia prima domanda. Nella TSQLConncetion puoi impostare die hostname sotto Driver-> Nome host. La cosa che voglio sapere è come lo si fa in fase di esecuzione, poiché non riesco ad ottenere la proprietà quando provo a creare una casella di modifica per consentire all'utente di inserire il valore e quindi impostarlo tramite codice come ad esempio:
SQLConncetion1.Driver.Hostname: = edtHost.text; Questo non può essere fatto in questo modo e l'unico modo in cui vedo che è possibile impostare il nome host è con l'ispettore dell'oggetto, ma che non è disponibile in fase di esecuzione e ho bisogno di impostare il nome host sul client quando il programma è in esecuzione la prima volta quindi come si imposta il nome host/l'indirizzo IP in fase di runtime?
Im utilizzando Delphi XE2
C'è ancora un sacco di domande a venire soprattutto quando si tratta di schieramento, ma prenderà questo pezzo per pezzo e apprezzo il consiglio.
Non reinventare la ruota. Il nostro ORM client-server Open Source con architettura orientata ai servizi utilizza JSON e SQLite3 denominati [mORMot] (http://synopse.info/fossil/wiki?name=SQLite3+Framework). Almeno vale la pena guardare il codice o leggere la documentazione di 700 pagine per ottenere alcune idee di progettazione o implementazione. –