![]() |
Re: udf in firebird deklarieren
Hast du die UDF per SQL-Skript in die DB eingebunden?
|
Re: udf in firebird deklarieren
ja, die ist deklariert...mit der deklaration gibt's keine probleme; sie wird auch in ixexpert aufgelistet...
|
Re: udf in firebird deklarieren
Bei Import/Export von Dll-Funktionen wird Groß-/Kleinschreibung unterschieden.
Ist die Bezeichnung bei beiden gleich? |
Re: udf in firebird deklarieren
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Danke, Martin |
Re: udf in firebird deklarieren
Deine Dll exportiert ja garnichts. Du mußt die Funktion auch exportieren.
|
Re: udf in firebird deklarieren
Liste der Anhänge anzeigen (Anzahl: 1)
tatsächlich
das muss mir durch die lappen gegangen sein, als ich die änderungen vom marabu übernommen hab. aber es geht trotzdem nicht :wall: ich konstatiere nochmal: -die dll ist jetzt so, wie ich sie jetzt noch einmal hochgeladen hab -meine firebird.conf hab ich auch mal hochgeladen -MyFirebirdUDFs.dll hab ich nach C:\Programme\Firebird\Firebird_1_5\UDF kopiert -danach hab ich den fb-server gestoppt und gestartet -danach hab ich in ibexpert meine udf folgendermaßen deklariert:
SQL-Code:
Das schien erstmal zu klappen:
DECLARE EXTERNAL FUNCTION REPLACE
CSTRING(100), CSTRING(100), CSTRING(100) RETURNS CSTRING(100) FREE_IT ENTRY_POINT 'Replace' MODULE_NAME 'MyFirebirdUDFs' ------ Performance info ------ Prepare time = 0ms Execute time = 0ms Current memory = 955.924 Max memory = 1.035.488 Memory buffers = 2.048 Reads from disk to cache = 0 Writes from cache to disk = 3 Fetches from cache = 39 -dann versucht, folgendes auszuführen:
SQL-Code:
Fehler:
select replace('hallo', 'al', 'la') from rdb$database;
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements. Access to UDF library "MyFirebirdUDFs.DLL" is denied by server administrator. Hat irgendjemand es geschafft, meine UDF zum Laufen zu kriegen? Wo liegt mein verdammter Fehler? Überall im Netz steht, es sei so 'unwahrscheinlich einfach' UDF's zu schreiben - wenn das nochmal einer sagt, dann :spin2: |
Re: udf in firebird deklarieren
Besser so
Delphi-Quellcode:
Was steht in der Konfig?
library MyFirebirdUDFs;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt- Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String- Informationen als PChar- oder ShortString-Parameter übergeben. } uses SysUtils, Classes, Strings in 'Strings.pas'; {$R *.res} exports Replace name 'Replace'; begin end. Dies
Code:
?
UdfAccess = Restrict UDF
|
Re: udf in firebird deklarieren
oh
Zitat:
Code:
Woher sollt ich wissen, dass da noch UDF dahinter muss?
UdfAccess = Restrict
Dank dir, martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz