*greetz* @ ALL!
Coole Sache das mit den Framesets, ABER:
Ich habe das wie oben beschrieben gemacht!
Es wird auch dei Bildschirmauflösung ermittelt und in die notes.ini eingetragen.
Habe auch zwei Framesets:
1280x1024
1024x768
Die Seiten sind dementsprechend angepasst!
NUR:
In den Startoptionen der Datenbank MUSS ich ja ein Frameset Auswählen:
(Siehe Anhang)
Habe dort die Auflösung der meisten Nutzer eingetragen: 1280x1024
WENN die anderen Nutzer mit der kleineren Auflösung die Datenbank öffnen, öffnen sich beide Framesets...........
Im Datenbankscript habe ich als:
Declaration:
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function GetWindowRect Lib "user32" (Byval hwnd As Long, lpRect As RECT) As Long
Im Postopen:
@If(@Environment("ScreenResolution") ="1024x768";
(@Command([OpenFrameset];"CALENDAR1024x768"));
(@Command([OpenFrameset];"CALENDAR1280x1024")))
Initialize:
Sub initialize()
Dim session As New NotesSession
Call session.SetEnvironmentVar("ScreenResolution",GetScreenResolution)
%REM
'@If(@Environment("ScreenResolution") ="1024x768";
' (@Command([OpenFrameset];"CALENDAR1024x768"));
' (@Command([OpenFrameset];"CALENDAR1280x1024")))
%END REM
End Sub
"GetScreenResolution":
Function GetScreenResolution As String
Dim R As Rect
Dim hWnd As Long
Dim RetVal As Long
hWnd = GetDesktopWindow ()
RetVal = GetWindowRect(hWnd, R)
GetScreenResolution = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function
Das ganze mit Notes 6.5.5 Clients (Ich weiß, dass ich hier im Notes 5 Entwicklungsforum bin, aber soooooviel wird das ja nicht ausmachen, oder?)
Habe ich da was falsch gemacht???
Zu deinem Problem:
Als Startframe musst Du ein Frame angeben (dass Du noch erstellen musst), dass als Inhalt nur eine Page (o.ä) hat.
Im QueryOpen dieser Page (o.ä) musst Du die INI-Variable abfragen
Das habe ich nun gemacht!
...und dem entsprechend das aktuelle Frame schließen und das gewünschte öffnen.
Das gewünschte Frame öffnet sich, aber ich kann das "Start Frame" nicht schließen.
Mit:
@Command([FileCloseWindow])
oder
hinter:
@If(@Environment("ScreenResolution")="1280x1024";
@Command([OpenFrameset];("CALENDAR1280x1024"));
@Command([OpenFrameset];("CALENDAR1024x768")))
komme ich nicht weiter, der Frame bleibt offen!! Hat einer noch eine Idee??