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