bedingte Compilierung

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Hier sollte doch auch der Interpreter den ersten Teil auslassen.
    Aber er sucht nach der fbembed.DLL

  • Also bei mir ist das nicht der Fall.


    Mein Testprogrammm:


    Hier wird nur "SQLite" ausgegeben.
    Wenn Dein Code nur einen Ausschnitt darstellt: Bist Du sicher, dass FireBird nicht auch definiert ist. Nötigenfalls kann man es mit $UNDEF definiert zurücksetzen.


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Hm, bei mir sucht er erst gar nichts.
    Obwohl die Ordner C:\ Firebird und C:\SQLite
    bei mir gar nicht existieren, sollte schon eine
    Fehlermeldung kommen.


    Ein Print "irgendwas" hinter $IFDEF SQLite
    zeigt mir aber, daß SQLite definiert ist. Das
    ist auch so, wenn ich
    $DEFINE FireBird draus mache und nach dessen
    $IFDEF ein Print setze.


    Ist irgendwie seltsam.

  • Man sollte erst richtig debuggen und dann posten.


    Ist auch hier wieder so. Die Bedingungsblöcke wurden richtig aufgenommen und gleich anschließend kam das Öffnen der Datenbank,
    wo für beide Datenbanken der Code stand, nur leider ohne die Bedingungen.


    Als der Interpreter dann den FireBird-Teil am Wickel hatte, fragte er zu recht: Und wo ist der Vogel?



    Übrigens: Blob in SQLite unterscheidet sich etwas:


    P.S.:
    Wenn man UTF8Encode zum Schreiben in die Datenbank nutzt, dann wird das auch korrekt aufgenommen.
    Und erscheint nach Wandlung auch wieder korrekt.



    Code
    var Text$ = UTF8Encode("Überraschungstext ÄÖÜßäöü")
    Exec$ = "INSERT INTO " + TBL + " (Feld1) VALUES (:Text$)"
    db("slSQLExec", mydb, Exec$, 0)
    
    
    
    
    Text$ = UTF8Decode(trim$(GetString$(2,0)))
  • Da ist nichts seltsam. Im Code wird ja noch nicht versucht, auf die Datenbank zuzugreifen. Und ob die Datenbankfunktion "UseDLL" erfolgreich war, erkennt man an deren Rückgabewert. Und ja: Natürlich wäre es hier sinnvoll, diesen im Programm abzufragen.


    Beim Versuch, auf die Datenbank zuzugreifen, würde es natürlich eine Fehlermeldung geben.


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de