Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249429 (10865)
  Suchen
 Zurück zur Übersicht
 AutorThema: Probleme mit prfdat32.dll
Jürgen Baier
Datum:01.10.01 08:40 Antwortenals Email verschicken (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



Jörg Sellmeyer
Datum:01.10.01 12:49 Antwortenals Email verschicken (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


Jürgen Baier
Datum:01.10.01 21:42 Antwortenals Email verschicken (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.



Jürgen Baier
Datum:01.10.01 22:19 Antwortenals Email verschicken (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.





Jörg Sellmeyer
Datum:02.10.01 11:23 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Jürgen,
Das hört sich eher so an, als ob Du dll nicht richtig eingebunden hast.
Lies Dir mal das hier durch:

http://forum.webmart.de/wmmsg.cfm?id=176905&tid=144672#428351


Vielleicht hilft Dir das weiter.
Bei mir tauchen ähnliche Probleme nicht auf.
Gruß
Jörg



Jürgen Baier
Datum: 02.10.01 21:47 Antwortenals Email verschicken (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.


 Zurück zur Übersicht