Autor Thema: Illegal circular Use / Script Bibliotheken  (Gelesen 4424 mal)

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Illegal circular Use / Script Bibliotheken
« am: 13.04.07 - 12:12:48 »
Hallo zusammen,

ich möchte in einer Anwendung eine Script-Bibliothek (Name=EventsBackend) mit einer Klasse für Backend-Funktionen und eine weitere Script-Bibliothek (Name=EventsFrontend) mit einer Klasse für Frontend-Funktionen erstellen.

Die Frontend-Bibliothek soll Klassen aus der Backend-Bibliothek verwenden bzw. daraus abgeleitete Klassen enthalten. Dazu habe ich diese mit Use "EventsBackend" in den Options der Bibliothek EventsFrontend eingebunden.

Wenn ich nun versuche die Frontend-Bibliothek mit Use "EventsFrontend" in den Options einer Maske einzubinden, so erhalte ich die Fehlermeldung Illegal circular Use: EventsFrontend.

Das ganze hab ich nun soweit reduziert, dass die beiden Bibliotheken nun bis auf Option declare und der Use Anweisung in der Frontend-Bibliothek keinen weitern Code enthalten.

Auch die Maske enthält nur die Use Anweisung zum einbinden von EventsFrontend.

Cache.dsk hab ich ohne weiteren Erfolg gelöscht. Notes 6.5.5. Irgend welche Ideen???

Hubert

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Illegal circular Use / Script Bibliotheken
« Antwort #1 am: 13.04.07 - 12:38:18 »
In solchen Fällen hat es mir schon oft geholfen, LS neu zu kompilieren (über "Werkzeuge" )
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #2 am: 13.04.07 - 12:42:30 »
Das hatte ich auch schon versucht, leider ohne Erfolg.

Hubert

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Illegal circular Use / Script Bibliotheken
« Antwort #3 am: 13.04.07 - 12:45:29 »
Fixup und compact auf die Datenbank.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

WMotzet

  • Gast
Re: Illegal circular Use / Script Bibliotheken
« Antwort #4 am: 13.04.07 - 12:50:12 »
manchmal hilft/funktioniert das Neukompilieren über Werkzeuge nicht,
dann hilft nur alle Elemente die die Klasse nutzen  einzeln "neu zu kompilieren",
d.h. öffnen "ändern" (= "Blank" einfügen) und wieder speichern,
danach waren bei uns (Notes 6.5.x) diese Fehler wieder weg.
« Letzte Änderung: 13.04.07 - 12:52:57 von WMotzet »

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #5 am: 13.04.07 - 12:52:30 »
Sowohl fixup / compact als auch das erneute Speichern nach Änderung bringt nichts.

Hubert

WMotzet

  • Gast
Re: Illegal circular Use / Script Bibliotheken
« Antwort #6 am: 13.04.07 - 12:59:03 »
Und auch Notes komplett neu gestartet danach?

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #7 am: 13.04.07 - 13:21:03 »
Natürlich auch das.

Hubert

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Illegal circular Use / Script Bibliotheken
« Antwort #8 am: 13.04.07 - 13:35:36 »
Schmeiss mal die Blibotheken und die ganzen Use-Statements raus, lass mal Script neu kompilieren und mach dann noch einen compact hinterher.

Anschließend erstellst du die Bibliotheken neu.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #9 am: 13.04.07 - 13:42:59 »
Soweit erst einmal Dank für euere Antworten. Bin jetzt bereits at home  8) und kann hier nur mit 7.0.2 testen. Bis spätestens Montag.

Hubert

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #10 am: 14.04.07 - 00:09:37 »
Nach Deiner Beschreibung sieht ja alles korrekt aus, was Du gemacht hast, Hubert. Kann es aber sein, dass Du im Vorfeld mal ein "Circular use" verursacht hast? Das ist ggf. mit seinen "Ruinen" verdammt hartnäckig (und verbirgt sich dann nicht im Quellcode, sondern im tokenisierten Teil - m.E. ein Bug).

Passiert ist mir sowas auch schon. Helfen könnte (!) tatsächlich ein Löschen der Caches (neben der CACHE.NDK gehört hierzu auch die DESKTOP.DSK). Aber das hast Du ja schon durch. Ein Fixup oder Compact kann aber nichts bringen - das ist eine ganz andere "Spielwiese".

Tipp in solchen Fällen: Die Libs in .LSS-Files exportieren und anschliessend löschen. Dann in der richtigen Reihenfolge wieder importieren und neue Libs und die Bezüge jedes Mal (nach Import) neu kompilieren. Anschliessend das ganze Projekt rekompilieren (oft gar nicht mehr notwendig, aber es schafft zusätzliche Sicherheit).

Sollte der Fehler dann immer noch auftauchen, dann muss wirklich ein "circular use" vorhanden sein.

Bernhard
« Letzte Änderung: 15.04.07 - 22:37:47 von koehlerbv »

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Illegal circular Use / Script Bibliotheken
« Antwort #11 am: 14.04.07 - 10:05:26 »
Jemand sollte das mal bei Lotus auflösen.
Habs bei Bob Balaban angemeldet. Nummer 91 oder so:
http://www.bobzblog.com/tuxedoguy.nsf/dx/why-this-blog?opendocument&comments
In bestimmten anderen Programmiersprachen hat man mit so einem Nonsens nämlich keine Probleme, weil ein smarter Compiler solche zirkulären Referenzen auflöst.
Ich hab auch schon einmal das in LotusScript gesehen:
Es gab definitiv zirkuläre Referenzen in den ScriptLibraries. Die Libs luden sich aber nur ein paar Runden gegenseitig in den Speicher, ohne dass es dafür eine Erklärung gab, warum dieses Spielchen stoppte. Es lief halt nur sehr langsam an, wegen den paar Runden zirkulären Ladens.
« Letzte Änderung: 14.04.07 - 10:28:59 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Illegal circular Use / Script Bibliotheken
« Antwort #12 am: 15.04.07 - 22:10:29 »
... die Fehlermeldung kommt aber auch, wenn man die Lib beim Use falsch schreibt - es also die Lib nicht gibt...

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #13 am: 16.04.07 - 00:21:16 »
Toni, Du könntest zum Held des Threads avancieren - an diese simple (und eigentlich allgemeine bekannte) Dumm-Fehlermeldung des Designers) hat bisher keiner gedacht!

Soweit ich mich erinnere, hat der R4-Designer noch geschimpft, dass er nicht weiss, was ich mit der "GibtEsNicht.Lib" meine. Seit R5 dann offensichtlich ein degression bug, über den die IBM-eignen LS-Entwickler doch eigentlich auch schon einmal gestolpert sein sollten. Vollkommen unverständlich.

Bernhard

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Illegal circular Use / Script Bibliotheken
« Antwort #14 am: 16.04.07 - 09:01:39 »
Guten Morgen!

Also, ich hab das alles noch einmal neu aufgesetzt und siehe da, es lief. Ein Schreibfehler war auszuschließen, so dass ich eher zu Bernhards Ursachen- / Lösungsansatz tendiere.

Herzlichen Dank für euere Antworten.

Hubert

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz