Autor | Thema: Probleme mit prfdat32.dll | | Datum:01.10.01 08:40 
(DeHarrow@gmx.de) | |
Hallo, habe folgendes Problem...
Setzte die Datums-Dll von Roland ein.
Wenn ich einen erstellten Button (Button4%) drücke, dann soll und wird das berechnete Datum
in einer Textzeile ausgegeben.
Wenn ich aber danach einen anderen Button (Button3%) drücke, um ein Verzeichnis zu wählen und Button4% wieder drücke, dann wird nichts mehr angezeigt.
Die Werte, die die DLL zurückgibt, sind Null.
Hier ein Auszug aus dem Quelltext:
Abfrage2:
CLEAR Ende%
WHILENOT Ende%
WAITINPUT
IF GetFocus(Button3%)
Pfad$ = ChooseDir$("Bitte Verzeichnis wählen:")
CASE Pfad$ = "" : Goto "Abfrage2"
DestroyWindow(Editbox2%)
SetFont EditBox2%,hFont%
EditBox2% = CreateEdit(Dialog1%,Pfad$,10,146,165,15)
SetFont EditBox2%,hFont%
ENDIF
IF GetFocus(Button4%)
Einstellungen5$ = GetText$(EditBox3%)
Datumaktuell$ = Date$(3)
Datum$ = Date$(3) ' Datenbankformat, z.B. "19960516"
Heute& = DToN(Val(Datum$)) ' In internes Format umwandeln
Tag& = Heute& + Val(Einstellungen5$) 'Plus Tage dazurechnen
D& = NToD(Tag&) 'umwandeln in Datenbankformat
Text5% = CreateText(Dialog1%,"Nächste Sicherung erfolgt am: " + DToC$(D&),10,205,250,15)
SetFont Text5%,hFont%
ENDIF
Declarationen,Wend,Include usw. ist alles eingebaut worden.
Wie gesagt, solange ich Button4% drücke, funktioniert alles.
Kann mir jemand einen Tip geben ?
Gruß Jürgen
|
| | Datum:01.10.01 12:49 
(joerse@gmx.de) | |
Hallo,
Besser ist es, ein funktionierendes (b.z.w. NICHT funktionierendes ;-) ) Beispiel zu posten.
So kann man es nicht testen und die ganze deklariererei selber zu machen,
sollte man einem Tester nicht zumuten.
Hast Du schon mal versucht das zweite IF durch ein ElseIf
zu ersetzen (natürlich das erste Endif löschen) ?
Vielleicht hilft das ja schon
Gruß
Jörg
|
| | Datum:01.10.01 21:42 
(DeHarrow@gmx.de) | |
Hallo,
Wie gesagt, das Programm funktioniert solange, bis ich einen Button drücke, der ein Dialog mit Verzeichnissen (ChooseDir) öffnet. Drücke ich dann 'Okay' um dem Pfad zu übergeben (drücke danach wieder den Button um Datum zu berechnen)
, dann gibt die DLL nur noch Nullwerte zurück.
Ausprobiert hatte ich alles mögliche, auch mit ELSEIF, PROC etc.
Das Problem ist meiner Meinung nach, dass es Schwierigkeiten gibt, wenn man irgendeinen Dialog öffnet (eben ChooseDir$,@LoadFile etc.)und danach ein neues Datum berechnen lässt.
Nachvollziehen lässt sich es am schnellsten, wenn man ein Fenster mit zwei Button erstellt.
Mit Button 1 printet man das Ergebnis der DLL aus, mit Button 2 wählt man einen Pfad (ChooseDir) und drückt auf 'Okay'.
Nun müsste die DLL, wenn man wieder auf den Button 1 drückt, nur noch Nullwerte printen.
Naja, werde mal schaun, ob ich die Sache anderweitig in den Griff bekomme.
Gruß Jürgen.
|
| | Datum:01.10.01 22:19 
(DeHarrow@gmx.de) | |
Hallo nochmals,
hab's mal mit dem der DLL dazugehörendem Quelltext probiert (datum.prf), in dem ich:
Declare Pfad$
Let Pfad$ = @ChooseDir$("Verzeichnis wählen:")
in die erste Zeile einfügte.
Es kommt die Meldung 'Fehler beim Laden der DLL...'.
Gruß Jürgen.
|
| | | Datum: 02.10.01 21:47 
(DeHarrow@gmx.de) | |
Hallo Jörg !
Ja, es hatte wirklich daran gelegen, dass die DLL nicht gefunden wurde.
Hatte in meiner Verzweiflung die DLL ins Windowsverzeichnis kopiert gehabt, und siehe da, es hat geklappt !!!
Danke nochmals für die Hilfe !!!
Gruß Jürgen.
|
|
|