Domino 9 und frühere Versionen > ND6: Entwicklung

Nachteile von .dll Calls

(1/2) > >>

cgorni:
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

Glombi:
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:
+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.

TMC:

--- Zitat von: cgorni am 04.03.05 - 10:27:39 ---Nur als Beispiel seien hier die Probleme des NotesProgressBar, wenn man den Agenten der ihn benutzt abbricht.
--- Ende Zitat ---

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

--- Ende Code ---

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?

cgorni:
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)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln