Modul und pbf-Dateien

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Forsti
Beiträge: 23
Registriert: 21.01.2011 12:46

Modul und pbf-Dateien

Beitrag von Forsti »

Hallo liebe Community,
nach langer Zeit habe ich wieder mal eine Frage. Ich bin bei der Umstellung eines größeren Programmsystems mit zahlreichen Fenstern.
Die Fenster habe ich in der Vergangenheit wie üblich mit dem Formdesigner erstellt. Um Namensverwechslungen zu vermeiden, habe ich alle Quelldateien in Module ausgelagert. Probleme sehe ich nun mit den pbf-Dateien. Versehe ich sie mit den Schlüsselwörtern module und endmodule, werden diese zwangsläufig bei der Umschaltung wieder rausgeschmissen, d.h. die pbf Dateien können nicht modularisiert werden. Ich kann aber nicht von einem Modul auf Konstanten innerhalb einer pbf Datei ( z.B. der ID eines Gadgets ) zugreifen. Soll ich nun
wegen dieser Tatsache die Modulbildung rückgängig machen? wohl kaum. Ich frage euch, was ich machen könnte? Meine aktuelle Programmversion ist PB 5.60 64Bit.

Viele Grüße von Forsti
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Modul und pbf-Dateien

Beitrag von NicTheQuick »

Ich hab gerade zum ersten mal den Formdesigner gestartet und weiß nicht mal wie ich da ein Fenster erstellen kann. Ich sehe nur eine Liste mit Gadgets und irgendwelche Klicks darauf ändern gar nichts irgendwo. Aber egal. Ich hab trotzdem eine Idee für dich.
Du könntest den vom FormDesigner generierten Quellcode einfach so lassen wie er ist, ihn aber in einem weiteren Quellcode innerhalb eines Moduls inkludieren. Dann wäre er automatisch modularisiert. Höchstens die Declares müsstest du dann noch händisch anpassen, falls neue Procedures dazu gekommen sind. Aber ich denke damit sollte es sich leben lassen.
Bild
Benutzeravatar
mhs
Beiträge: 224
Registriert: 11.01.2009 16:30
Wohnort: Graben
Kontaktdaten:

Re: Modul und pbf-Dateien

Beitrag von mhs »

NicTheQuick hat geschrieben:...
Du könntest den vom FormDesigner generierten Quellcode einfach so lassen wie er ist, ihn aber in einem weiteren Quellcode innerhalb eines Moduls inkludieren. ...
Genau das ist der richtige Weg.

Und das zweite Stichwort ist Kapselung: Du verwendest die ganzen declares, etc des FormDesigners ausschließlich innerhalb des Moduls und greifst dann nur noch über Funktionen auf den "Inhalt" des Moduls zu.

z.B:

Code: Alles auswählen

DeclareModule winMain

  Declare Open()
  Declare Close()
 
  Declare SetTitle(Title.s)
 
EndDeclareModule

Module winMain

  XIncludeFile "frmMain.pbf"

  Procedure Open()
 
    OpenID_winMain()

  EndProcedure
  Procedure Close()

    CloseWindow(ID_winMain)

  EndProcedure

  Procedure SetTitle(Title.s)

    SetWindowTitle(ID_winMain, Title)

  EndProcedure
 
EndModule
siehe hier: http://www.purebasic.fr/german/viewtopi ... =3&t=28374
Michael Hack

Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
Forsti
Beiträge: 23
Registriert: 21.01.2011 12:46

Re: Modul und pbf-Dateien

Beitrag von Forsti »

Danke für die Lösungsvorschläge, es läuft. Ein Include innerhalb eines Moduls hatte ich noch nicht auf dem Schirm, jetzt weis ich, das sowas geht.
Viele Grüße von forsti
Antworten