Projekt-Typ im Öffnen-Dialog

Hallo Zusammen,

ein Problem, das wir schon seit Ewigkeiten haben, holt uns in einem neuen Projekt wieder ein:

Wir haben vor dem Druck standardmäßig einen eigenen Dialog geschaltet, wo ausgewählt werden kann, ob gedruckt, die Vorschau angezeigt, das Druckersetup aufgerufen werden soll … Hat der Benutzer Layoutrechte, kann er auch den Designer öffnen. Davor schalten wir noch den Öffnen-Dialog, damit das aktuelle Layout bestätigt, oder ein anderes ausgewählt werden kann. Und genau hier liegt das Problem. Egal welchen Projekt-Typ wir einstellen ist im Dialog immer Label also *.lbl ausgewählt, weshalb der Benutzer den Typ immer erst ändern muss.

Umgebung:

  • XP, XPMode, Win7, Win10
  • Visual Basic 6
  • API-Calls

strFileName = String(255, Chr(0)) strFileName = Trim$(mPrintFile) & Chr(0) Select Case ObjectType Case LL_PROJECT_LABEL ' 1 strText = mGetMsgText("FRMTABLEPRINT7", mUISprache, "Label zum Bearbeiten auswählen") Case LL_PROJECT_LIST ' 2 strText = mGetMsgText("FRMTABLEPRINT8", mUISprache, "Liste zum Bearbeiten auswählen") Case LL_PROJECT_CARD ' 3 strText = mGetMsgText("FRMTABLEPRINT9", mUISprache, "Karteikarte zum Bearbeiten auswählen") End Select lngRet = LlSelectFileDlgTitleEx(hLlJob, mHwnd, strText, ObjectType, strFileName, 255, "")

Debwin bringt hier folgendes:

CMLL21 : 09:36:05.263 00001770/00 6 [MSVBVM60.DLL] >LlSelectFileDlgTitleEx(1,0X00090CC2,‘Liste zum Bearbeiten auswählen’,0x00000002,0X0B778738,255,0X11BA2D4C)
CMLL21 : 09:36:05.263 00001770/00 7 [MSVBVM60.DLL] >clsApplication::hLibrary(0,0,0,1)
CMLL21 : 09:36:05.263 00001770/00 8 [MSVBVM60.DLL] >clsApplication::GetLibrary(0,0,0,0)
CMLL21 : 09:36:05.263 00001770/00 9 [MSVBVM60.DLL] <clsApplication::GetLibrary() -> 0X15310000
CMLL21 : 09:36:05.263 00001770/00 0 [MSVBVM60.DLL] <clsApplication::hLibrary() -> 0X15310000
CMLL21 : 09:36:13.594 00001770/00 1 [MSVBVM60.DLL] <LlSelectFileDlgTitleEx() -> 0 (00000000)

Was machen wir hier falsch?

Vielen Dank im Voraus,

J. Wendisch

Hallo Herr Wendisch,

vielen Dank für Ihren Beitrag.

Es handelt sich hier ein Problem des letzten übergebenen Parameter. Dieser muss auf C+±Seite NULL sein, damit das funktioniert. Unter VB können Sie hier eine 0 angeben. Damit dies funktioniert, müssen Sie zuerst die Deklaration der Funktion „LlSelectFileDlgTitleEx“ in der Datei „cmll22.bas“ anpassen. Ändern Sie hier den letzten Parameter von „as Any“ auf „as Long“.

Mit freundlichen Grüßen

Technischer Support
combit GmbH