MDIChildren



  • Ich habe mit dem Borlad Builder einen kleinen Text Editor geschrieben mit dem man mehrere Dateinen gleichzeitig als Child öffnen kann. Nun möchte ich verhindern das ich eine Datei die schon geöffnet ist noch ein zweitesmal öffnen kann. Dazu möchte ich gerne die Eigenschaft MDIChildren verwenden. Leider finde ich nirgendswo so ein richtiges Beispiel.
    Könnt ihr mir da weiterhelfen?

    Noch eine kleine Frage hinterher.
    Wie kann ich ohne die Klasse TFileStream beim öffnen einer Datei eine Sicherungs-/Backupkopie anlegen?

    Danke



  • Hier mal ein kurzes Beispiel für eine Schleife über alle MDIChildren:

    bool CheckOpenFiles(AnsiString sFilename)
    {
      for(int i=0; i<MDIChildCount; i++)
      {
        TMDIChild *child = (TMDChild*)MDIChildren[i];
    
        if(child->GetFilename() == sFilename)
           return false;
      }
    
      return true;
    }
    

    TMDIChild ist dann der Name deiner Child-Formularklasse.
    Und du mußt dann noch eine Methode "GetFilename()" dort implementieren.

    Und ein Backup kannst du einfach mittels CopyFile() (aus der WinAPI) machen... (wobei man Backup-Dateien gewöhnlich erst beim Speichern anlegt, nicht beim Öffnen)


Log in to reply