Autor Thema: scriptlib aufrufen  (Gelesen 4784 mal)

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
scriptlib aufrufen
« am: 01.04.03 - 18:07:37 »
hallo leute,

das ist kein aprilscherz!

folgendes problem:
- ich habe 2 scriptlibraries, wobei lib a in den option die definition use lib b besitzt
- ich wollte aus lib a eine function in lib b aufrufen und dann einen rückgabewert erhalten
=> Set doc = funcVererbenZahlAntworten( doc )
=> klappt nicht, ich lande in der fehlerroutine
- wenn die function derselben lib ist, funktioniert das
- wenn die funktion ohne rückgabewert arbeitet und über call funcname in lib b aufgerufen wird, funktioniert das

kann mir das mal einer erklären
eine lösung für das problem wäre auch cool

tschö uund danke

forrest g

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:scriptlib aufrufen
« Antwort #1 am: 01.04.03 - 18:10:29 »
hast du zufällig irgendwo den Begriff "Private" verwendet ??
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #2 am: 01.04.03 - 18:14:06 »
hi eknori,

nein, in den options der beiden libs habe ich option public deklariert.

demnach entnehme ich das das normalerweise funktionieren sollte?

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:scriptlib aufrufen
« Antwort #3 am: 01.04.03 - 18:18:20 »
wie sieht das denn im Debugger aus ?? Da kannst du doch eigentlich wunderbar verfolgen, was mit deinen Varialblen etc geschieht
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #4 am: 01.04.03 - 18:23:56 »
okay,

ich rufe über Set doc = funcVererbenZahlAntworten( doc ) die funktion in der anderen lib auf
dann geht der debugger wegen on error goto fehler zur sprungmarke fehler

naja, weil mir das schleierhaft war, hab ich dann die funktion in dieselbe lib reingenommen, das geht
ebenso, wenn die funktion in der anderen lib ohne rückgabewerta rbeitet

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:scriptlib aufrufen
« Antwort #5 am: 01.04.03 - 18:28:02 »
dann nimm doch versuchsweise mal die on error zeile raus; dann solltest du ja eine Fehlermeldung bekommen. Gibt vielleicht Aufschluß über die Ursache
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #6 am: 01.04.03 - 18:32:40 »
coole idee,

type mismatch on external name (functionsname)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:scriptlib aufrufen
« Antwort #7 am: 01.04.03 - 18:34:31 »
aha, werden denn die Funktionswerte richtig übergeben ? Oder versuchst du in einen String einen Integerwert zu schrfeiben ?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #8 am: 01.04.03 - 18:34:55 »
der name is richtich geschrieben

rückgabewert vom selben typ

designer und notes und db schon mehrfach geöffnet und geschlossen

ich raff das nich???

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #9 am: 01.04.03 - 18:37:35 »
hab deine antwort garnich gesehen.

aufruf:
Set doc = funcVererbenZahlAntworten( doc )

aufgerufene funktion:
Function funcVererbenZahlAntworten(doc As notesdocument) As notesdocument

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:scriptlib aufrufen
« Antwort #10 am: 01.04.03 - 22:31:08 »
Hi,

mach doch mal eine sub draus:


sub funcVererbenZahlAntworten(docIn As notesdocument, docOut As notesdocument)

und rufe diese dann auf

funcVererbenZahlAntworten( docIn, docOut )

denn ich weiss nicht, ob das so einfach geht das aktuelle doc als Parameter übergeben und gleichzeitig wieder in sich reinschreiben.

-->Set doc = funcVererbenZahlAntworten( doc ) ???

 



Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #11 am: 01.04.03 - 23:20:34 »
hi doliman,

ich nehme halt eine function, damit ich einen rückgabewert bekommen kann.
sub gibt keinen rückgabewert zurück.

der einwand mit dem überschreiben: ich habe denselbenkram mit anfderen funktionen laufen...

das geht nur bei dieser genannten nicht!

FEHLERMELDUNG:
type mismatch on external name <functionsname>

ist denn keiner mehr wach?
was macht ihr denn alle jetzt?

okay, ihr dürft mir morgen helfen.
ciao und gute nacht

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:scriptlib aufrufen
« Antwort #12 am: 02.04.03 - 08:22:52 »
Hi,

sub liefert DIr einen "versteckten" Rückgabewert.
Du steckts einfach die Variable in die Du das Ergebnis haben willst als Parameter in die Sub. Funktioniert einwandfrei.
Aber stelle doch mal die DB als Anhang hier herein, dann schau ich mal rein.
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:scriptlib aufrufen
« Antwort #13 am: 02.04.03 - 09:17:14 »
Die Funktion muß einen Rückgabewert vom Typ Variant haben. Ist das der Fall?
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #14 am: 02.04.03 - 10:01:37 »
hi wflamme,

die funktion hatte keinen rückgabewert vomtypvariant.
habe das jetzt aber getestet: leider genau dasselbe ergebnis.

FEHLERMELDUNG:
type mismatch on external name <functionsname>

bei anderen funktionenin der library arbeite ich mit rückgabewert notesdocument.
in derselben library funktiniert auch fehlerhafte funktion mit notesdocument als rückgabewert testweise.




Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:scriptlib aufrufen
« Antwort #15 am: 02.04.03 - 10:31:21 »
chech mal bitte im Debugger, wo das Script genau aussteigt..schon beim Aufruf oder in der Function erst beim Abarbeiten..wird oben nicht ganz klar.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:scriptlib aufrufen
« Antwort #16 am: 02.04.03 - 10:44:59 »
hi rob,

steigt beim funktionsaufruf aus.
geht also garnich erst in die funktion

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:scriptlib aufrufen
« Antwort #17 am: 02.04.03 - 12:14:43 »
declare mal testhalber die function als static...es sieht fast so aus, als ob der Compiler checken will, was denn dieses function(doc) vom Typ zurückgeben soll und kann nicht, da Doc den Wert verliert, weil außerhalb Reichweite in eigentlicher Funktion. Denn in der gleichen Lib geht es, sagst Du.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:scriptlib aufrufen
« Antwort #18 am: 02.04.03 - 12:21:29 »
Dann weiß ich auch nichts mehr, außer vielleicht nochmal explizit libB zu öffnen, zu kompilieren und dann dasselbe nochmal mit libA zu machen.

Und.. hast Du vielleicht irgendwo Code per CopyPaste in die libB eingefügt? Hatte schon ähnliche Probleme, wenn Sonderzeichen/Steuerzeichen in den Source reingeraten waren.

PS: Den Variant-Effekt, den ich als Lösung vorgeschlagen habe, hat mir auch schon geholfen, das ist mir bei Versionen vor 5.02 ab und an passiert, daß ich nur primitive Datentypen zurückgeben konnte, besonders bei vorcompilierten Libraries. Warum weiß keine S..  :-\
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:scriptlib aufrufen
« Antwort #19 am: 02.04.03 - 13:31:54 »
is mir auch schon öfter passiert -  wenn du an der benutzten Bibliothek was änderst und die nutzende Bibliothek danach nicht neu kompilierst, dann kann der Fehler auftreten, weil die nutzende immer noch mit der "alten" Bibliothek arbeitet.
Probier mal, neu zu kompilieren (unten in der Statuszeile muss angezeigt werden, dass kompiliert wird)
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz