![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
|
![]() |
#1 |
Newbie
![]() Registriert seit: 10.03.2006
Beiträge: 2
|
![]() Hallo!
Ich habe ein Programm das auf eine Datenbank zugreifen soll. Soweit so gut das C-Programm (Borland) ist funktionstüchtig und die Datenbank auf einem zweiten Rechner(Linux) auch nur die Verbindung dieser 2 funktioniert nicht. #include <conio.h> #include <stdio.h> #include <wtypes.h> #include <sql.h> #include <DBLogDlg.hpp> #include <vcl.h> #pragma hdrstop #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //Zuerst werden die Strukturen definiert, die das selbe Format haben, //wie die Funktionen des Prototypens typedef long (CALLBACK *EAnalogIn)(long*, long,long,long,long*,float*); //EAnalogIn: Liest die Spannung von einem analogen Eingang ein. typedef long (CALLBACK *AISample)(long*,long,long*,long, long,long,long*,long*,long,long*,float*); // AISample: Liest die Spannungen von 1, 2oder 4 analogen Eingangen. int main() { typedef INT32 SQLResult; SQLResult pConnection ->connect ( proj1, root, 2582124) = 0; for(;; ) //Leerlaufschleife { //Definition der Variable um die DLL-Datei zu laden HINSTANCE hDLLInstance; //Definition der Variablen die später verwendet werden EAnalogIn m_pEAnalogIn; AISample m_pAISample; //Nun wird versucht die DLL-Datei zu laden if (hDLLInstance = LoadLibrary("ljackuw.dll")) { //Bei erfolgreichen Laden werden folgen Funktionen durchgeführt m_pEAnalogIn = (EAnalogIn)::GetProcAddress(hDLLInstance,"EAnalogI n"); //Pointer der Funktion EAnalogIn m_pAISample = (AISample)::GetProcAddress(hDLLInstance,"AISample" ); //Pointer der Funktion AISample } else //Falls der Treiber nicht installiert wurde kommt folgende Fehlermeldung { printf("\nFailed to load DLL\n"); getchar(); return 0; } /*m_pEAnalogIn hält einen Pointer zu der m_pEAnalogIn Funktion. Der Compiler erkennt automatisch m_pEAnalogIn als Pointer einer Funktion und ruft die Funktion mit den Parametern auf. Wenn wir eine neue Variable vom Typ tEAnalogIn erstellen und geben "pNewVar = m_pEAnalogIn" ein, so kann der Compiler die Funktion nicht aufrufen, da er diese nicht erkennt. */ long errorcode; //Ein LabJack spezifischer Error-Code, 0 bedeutet kein Fehler 2 bedeutet, // dass keine LabJAck-Einheit angeschlossen ist. long idnum=-1; //idnum = Local ID, Serien Nummer, oder -1 für das Gerät, //das als erstes gefunden wird. long stateIO=0; //stateIO= Ausgang für IO0-IO3.Hat aber keine Auswirkung, //falls IO als Eingang konfiguriert wird, da eine andere Funktion verwendet werden //muss, die den Ausgang defeniert. long numCh=4; //numChannels = Anzahl der analogen Eingängen die zu lesen sind(1,2,3 oder 4). long channels[4]; // channels = Pointer zeigt auf ein Array von einem Kanal mit //dem niedrigensten numchannel Element.Jeder Kanal kann einfach oder differentiel verwendet werden. // 0-7 für einfach und 8-11 für differentiel. long gains[4]={0,0}; //gains= Pointer zeigt auf ein Array von einem Kanal //mit dem niedrigensten numChannel Element. Gain-Befahle sind 0=1, 1=2, ... , 7=20. //Diese Applikation ist nur für differentielle Anwendungen verfügbar long ov=0; //ov=overVoltage = Wenn >0, wurde eine Überspannung an einem der Eingängen entdeckt. float voltages[4]={0}; //voltages = Pointer zu dem Array, das die eingelesenen Spannung zurückgibt. //Lesen der 8 analogen Eingängen mittels AISample channels[0]=0; channels[1]=1; channels[2]=2; channels[3]=3; errorcode = m_pAISample(&idnum,0,&stateIO,0,1,4,channels,gains ,0,&ov,voltages); printf("\nAISample error = %d\n",errorcode); // mysql_query("insert into 'emg_ua'('zahl','age','startzeit','werte','endzeit ')Values(5,44,328432843,rand()%100,3242131234123)" ); printf("AI0 = %2.2f V\n",voltages[0]); printf("AI1 = %2.2f V\n",voltages[1]); printf("AI2 = %2.2f V\n",voltages[2]); printf("AI3 = %2.2f V\n",voltages[3]); } getchar(); return 0; SQLResult Status pConnection ->disconnect()=0; } Unteranderen habe ich das ganze auch mit opendatabase probiert. Fazit nichts was ich daweil Probiert habe hat funktioniert. Ich hoffe ihr könnt mir helfen. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|