Autor Thema: Problem mit Evaluate  (Gelesen 3577 mal)

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Problem mit Evaluate
« am: 04.08.05 - 09:14:23 »
Hallo,

ich habe ein problem mit Evaluate.

Ich habe folgendes vor:

dim code as string
code = doc.code(0)
dim erg as variant
erg = Evaluate(code)


geht alles super, nur wenn in dem Feld code unsinn drin steht, geht nichts mehr

(erg = Evaluate(@if(@iserror(code);"Fehler";code)) hat auch nicht funktioniert.
mit besten Grüßen

Markus Petzold

Glombi

  • Gast
Re: Problem mit Evaluate
« Antwort #1 am: 04.08.05 - 09:26:28 »
Du kannst ein
On Error goto ErrorHandling einbauen

Du kannst DSir mit Err die Fehlernummer mal ausgeben lassen und ein spezielles Error Handling für das Evaluate machen:

On Error <Error nr> goto ErrorHandlingEvaluate

In R6 gibt es nun die Funktion
@CheckFormulaSyntax(Formeltext)

Damit kannst Du in der Maske prüfen, ob die Formel korrekt ist.

Andreas
« Letzte Änderung: 04.08.05 - 09:28:32 von Glombi »

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: Problem mit Evaluate
« Antwort #2 am: 04.08.05 - 09:31:26 »
Danke, ich habe echt vergessen, dass es auch unter R5 laufen soll. bin so an R6 gewöhnt, dass ich es hier rein gepostet habe.

Entschuldigung
mit besten Grüßen

Markus Petzold

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: Problem mit Evaluate
« Antwort #3 am: 04.08.05 - 11:12:13 »
habe es mal so versucht:

Function eval(doc As NotesDocument, code As String, n As Integer) As Variant
   On Error Goto errorLabel
   eval=Evaluate(code,doc)
   Exit Function
errorLabel:
   eval="Fehler"
End Function


Funktioniert super, wenn kein fehler in der Formel ist, naja der rest dürfte klar sein: wenn ein Fehler drin ist dann :'( :'( :'( :'(

Was mache ich falsch
mit besten Grüßen

Markus Petzold

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Problem mit Evaluate
« Antwort #4 am: 04.08.05 - 22:11:26 »
wenn ein Fehler drin ist dann :'( :'( :'( :'(
Dann was  ???
Was willst Du den machen, wenn ein Fehler auftritt?

Vermutlich kommt bei Dir auch ein "No Resume", wenn ein Fehler auftritt, schau Dir mal diesen Thread an zu ErrorHandling:
http://www.atnotes.de/index.php?topic=11980.0

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Problem mit Evaluate
« Antwort #5 am: 04.08.05 - 23:48:24 »
Wie Matthias geht es mir auch: Ich habe keinen Plan, auf was Du jetzt hinauswillst.

Ich habe mal an meiner Kristallkugel gerieben:
Wenn Du innerhalb des error handlings herausbekommen, ob es das Evaluate war, was in die Hose gegangen ist: Dann musst Du prüfen, ob dann Err den Wert 1024 hat. Dies bedeutet dann, dass der Formelausdruck fehlerhaft war.

Bernhard

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: Problem mit Evaluate
« Antwort #6 am: 05.08.05 - 11:26:37 »
Sorry!

Wenn der Fehler auftritt soll die Function einfach einen Fehler zurückgeben.

Ich habe meinen Fehler auch bemerkt und wollte gerade die Lösung hineinposten:

im Fehlerhandlich Fehlte die Zeile exit Function, sonst kommt No RESUME.
mit besten Grüßen

Markus Petzold

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz