WinAddByName
Der Befehl lädt das MdiFrame-Objekt (alpha1) in den Ausgabebereich des AppFrame-Objekts (obj). Über den optionalen Parameter (int2) kann über die Konstante _WinAddHidden angegeben werden, ob das MdiFrame-Objekt unsichtbar geladen werden soll. In diesem Fall muss das MdiFrame-Objekt später mit dem Befehl WinUpdate() mit dem Parameter _WinUpdOn gezeichnet werden.
Je nach verwendetem Betriebssystem stehen unterschiedlich viele Ressourcen (Benutzer- und GDI-Objekte) zur Darstellung des Fensters zur Verfügung. Nach dem Laden des Fensters werden die verbleibenden Ressourcen überprüft. Stehen weniger als 10% zur Verfügung, wird der Dialog nicht geladen. Die Anweisung gibt 0 als Deskriptor zurück und der globale Fehlerwert wird auf _ErrOutOfMemory gesetzt. Die zur Verfügung stehenden Benutzer- und GDI-Objekte können über den Info-Dialog und die Eigenschaften ObjectsUserLimit und ObjectsGDILimit ermittelt werden.
Sind dem MDI-Fenster über die Eigenschaft DbRecBuf eigene Feldpuffer zugeordnet worden, stehen diese nach diesem Befehl zur Verfügung und können initialisiert werden.
Als Rückgabewert wird der Deskriptor des MDI-Fensters zurückgegeben. Konnte das MdiFrame-Objekt nicht erfolgreich zum AppFrame-Objekt hinzugefügt werden, ist das Resultat 0.
Beispiel:
// MDI-Fenster 'MdiFrame' in Applikations-Fenster $MdiApp hinufügen
tMdi # $MdiApp->WinAddByName('MdiFrame', _WinAddHidden);
if (tMdi > 0)
{
// Initialisierung der Feldpuffer
RecBufClear(...);
...
// MDI-Fenster neu zeichnen
tMdi->WinUpdate(_WinUpdOn);
}
Mögliche Laufzeitfehler:
_ErrStringOverflow: MDI-Fenstername (alpha1) länger als40Zeichen