Autor Thema: Nachteile von .dll Calls  (Gelesen 2160 mal)

Offline cgorni

  • Junior Mitglied
  • **
  • Beiträge: 54
  • Geschlecht: Männlich
Nachteile von .dll Calls
« am: 04.03.05 - 10:27:39 »
Hallo zusammen,

ich stöbere gerade verschiedene Links durch, um Ideen und Tools für meine LotusScript Toolbox Library zu finden und bin dabei auf den Aufruf des Windows-File Dialogs gestoßen.

Ich habe ein wenig damit rumgespielt und finde den ganz schick. Das führt mich direkt zu der Frage:

Gibt es (außer der Plattformabhängigkeit) irgendwelche Nachteile, die "Bordmittel" von Windows zu benutzen? Kann ich .dll Aufrufe gefühlsmäßig als "normale" Unterprogramme behandeln oder ist irgendetwas dabei mit Vorsicht zu geniessen?

Nur als Beispiel seien hier die Probleme des NotesProgressBar, wenn man den Agenten der ihn benutzt abbricht.

Thx.
Christian
« Letzte Änderung: 08.03.05 - 15:18:48 von cgorni »

Glombi

  • Gast
Re: Nachteile von .dll Calls
« Antwort #1 am: 04.03.05 - 10:54:50 »
Grundsätzlich sollte man immer zuerst mal in den Script und/oder Formelsprachenbefehlen stöbern, bevor man sich auf die Windows DLL stürzt.
Wenn es denn gar nicht anders geht, dann kann man schon darauf zurückgreifen. Dann ist man allerdings auf die Plattform eingeschränkt und hat damit eine der größten Vorteile von Notes eliminiert.

Kleiner Tipp:
Bei der Declaration der DLL sollte man dann vorsorglich mit Aliasnamen arbeiten. Somit ist man auch für weitere Plattformel wie bspw. Unix und shared objects gewappnet. Ich mache dann in diesem Fall immer zwei Declarations und zwei Subs, die dann plattformabhängig die entsprechende Sub aufrufen.

Andreas

Marinero Atlántico

  • Gast
Re: Nachteile von .dll Calls
« Antwort #2 am: 04.03.05 - 11:03:50 »
+1
Hinzu kommt als Argument, dass sich für den Kunden durch Mischung aus Win32 und Domino der Kreis der möglichen Maintainer einschränkt.
Nur weil etwas schicker ist auf Plattformunabhängigkeit zu verzichten, halte ich für nicht so intelligent.
V.a. auch wegen Mergers & Adquisitions.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Nachteile von .dll Calls
« Antwort #3 am: 04.03.05 - 17:54:30 »
Nur als Beispiel seien hier die Probleme des NotesProgressBar, wenn man den Agenten der ihn benutzt abbricht.

Welche Probleme hast Du da?

Ich hab mal die ProgressBar-Klasse angehängt, die ich verwende. Da gibt's in der Klasse ein:
Code
	Sub Delete
		'Terminate the progress bar on the screen
		NEMProgressEnd hwnd
	End Sub

Ich bin zwar kein NotesAPI-Spezialist, aber nach meinem Verständnis wird dadurch die ProgressBar abgebrochen. Die Sub Delete der Klasse wird AFAIK auch ausgeführt, wenn der User die Routine (also z.B. Agent) unerwartet abbricht, z.B. mit Ctrl+Break.

---------------------

Manchmal weiche ich auch aufgrund von Notes-Bugs auf die WinAPI aus, z.B.
Datei-Limit bei OpenFileDialog?
Matthias

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


Offline cgorni

  • Junior Mitglied
  • **
  • Beiträge: 54
  • Geschlecht: Männlich
Re: Nachteile von .dll Calls
« Antwort #4 am: 04.03.05 - 21:00:48 »
Bei der Progressbar habe ich im notes.net nicht so viele positive Dinge gelesen, wie z.B. hier. Bei Nutzung des Debuggers und einem Fehler stürzt der Notes Client ab. Bei der Progressbar bin ich gerade in der "Planung" auf diese
Lösung (LS2J)
umzustellen.

Bei der Win-API finde ich gerade den "Datei öffnen - Dialog" sehr gelungen. (s.o)
« Letzte Änderung: 08.03.05 - 15:20:49 von cgorni »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Nachteile von .dll Calls
« Antwort #5 am: 04.03.05 - 21:06:51 »
Christian, es gibt AFAIK 2 Typen der Progress Bar:

1.) die läuft in der Statusbar (also ganz unten) und ist sehr buggy, hatte da auch schon Probleme

2.) erscheint direkt mitten im Notes-Fenster (Code siehe meinen Anhang): Ich hatte damit noch nie Probleme - was natürlich aber nichts heißt.
Die sieht ähnlich aus als wie wenn Du Strg+Shift+F9 in einer View drückst.

Matthias
Matthias

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


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Nachteile von .dll Calls
« Antwort #6 am: 04.03.05 - 21:15:05 »
Nachtrag:
Sorry, Dein Posting nicht ganz gelesen.

Und jetzt wo Du es schreibst:
Zitat
bei Nutzung des Debuggers und einem Fehler stürzt der Notes Client ab.

Stimmt, das hatte ich auch schon mal mit diesem API-Call im Bezug auf Verwendung des Debuggers  ::)

Ich habe auch immer im ErrorHandler in der Routine, in der ich die ProgressBar aufrufe, ein "Delete Progbar" drin, nur zur Sicherheit.

100% sauber ist das also nicht.
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: Nachteile von .dll Calls
« Antwort #7 am: 04.03.05 - 21:21:44 »
Christian, bist Du so freundlich und packst den langen Link noch in ein ordentliches Tagpaar - das Ding zerreist sonst dieses interessante Posting. Danke im Voraus.

Problem bei Notes-API-Calls: Die kompilierten Scripts verhalten sich u.U. nicht über Releases hinweg (insbesondere über Major releases) an das, was man erwartet. Die Folge ist die RBOD.
Meine Erfahrung: Wird das Teil mit der höchsten gewünschten Version kompiliert, klappt es auch mit den "Veteranen".

Bernhard

Offline cgorni

  • Junior Mitglied
  • **
  • Beiträge: 54
  • Geschlecht: Männlich
OT: Tag-Paar?
« Antwort #8 am: 08.03.05 - 11:02:35 »
Mache ich gerne, aber achtung Anfängerfrage: wie packe ich den langen Link in ein ordentliches Tagpaar. Ich verstehe leider nciht wie du das meinst.

Gruß
C.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Tags
« Antwort #9 am: 08.03.05 - 11:06:13 »
Code
[url=http://.......dieAdresse....]Bezeichnung, die angezeigt werden soll[/url]

Ein Template dafür kann abgerufen werden, wenn man die Weltkuggel anklickt
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz