Hallo bronstein,
also eine konkrete Hilfe hab ich nicht, deine Function ist recht abenteuerlich und
Fehler können sich hier an vielen Stellen einschleichen.
z.B. Datei öffnen. Sind denn auch alle Dateien vorhanden?
Versuche den Startpunkt des Debuger in der Schleife ab Zeile 32 zu setzen, dann sollte
es sich doch debugen lassen. Musst natürlich die DLL mit Hostanwendung debugen!
Zweiter Vorschlag, baue ein Try except in die Schleife (33 bis 94) ein, und verschiebe das Except dann immer weiter nach oben bis das Error ausgelößt wird.
Oder mache einfach ein "exit" ab Zeile 33 und verschiebe das "exit" immer weiter nach unten.
Die Stringlisten nicht freigeben, ist das Absicht?
Die ini wird auch nicht frei gegeben!
Wird die Function auch durch "stdcall" in der Anwendung aufgerufen?
In Zeile 87 oder 91 ist ein "end" zuviel!
FindFirst muss im Erfolgsfall durch SysUtils.FindClose frei gegeben werden!
Nachtrag:
Habe z.B. diesen Fehler gefunden:
Delphi-Quelltext
1: 2: 3: 4: 5:
| for z:= 0 to Length(Datei[k])-1 do ??
Richtig dann so: for z:= 1 to Length(Datei[k]) do |
Frage? Was macht dein IsValidInteger(Datei[k][z]) wenn Datei[k][z] = '' ??
Gruß gispos