Aktuelle Zeit: 22.07.2018 20:09

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: EventDesigner (All OS)
BeitragVerfasst: 12.03.2016 13:03 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Hier der überarbeitete Nachfolger von VisualGenerateDeluxe mit neuen Namen.

Update v1.02
- Bugfixes
- Added Drop Common files

Update v1.03
- Bugfix FrameGadget

Update v1.07
- Bugfix ToolBatToolTip
- Korrektur von LoadImage mit #PB_Any zu Konstanten

Zitat:
EventDesigner

Programm zu Erstellung eines lauffähigen Programmcode aus einen oder mehreren Common Dateien.

Mit den Form Designer erstellte Common Dateien (*.pbf) hinzufügen und Start Generieren ausführen.
Das erste gefundene Fenster wird als Hauptfenster aufgerufen.
Nach eine Änderung der Common Dateien das Generieren noch einmal durchführen. Somit werden neue Fenster, Menus, Gadgets. Etc hinzugefügt und vorhandne korrigiert. Verwendete Konstanten und Fensteraufrufe werden auch in den Benutzer Include-Dateien mit korrigiert.

Nach dem Generieren stehen folgende Dateien zu Verfügung.

- Main.pb: Hauptprogramm (Wird nur beim ersten Durchlauf erzeugt.)
- Commonfile.pb : Gemeinsame Common Datei (Wird jedes Mal neu erzeugt)
- EventMain.pb: Event Verteilung (Wird jedes Mal neu erzeugt)
- EventMenu.pb: Alle Events für Menus und ToolBarButtons
- EventGadget.pb: Alle Events für Gadgets
- EventWindow.pb: Alle Events für SizeWindow und ExitWindow

Richtlinien:

Bei mehreren Fenstern für OpenWindow() eine eindeutige Konstante vergeben.
Aus dieser werden für alle weiteren Konstanten der Prefix erzeugt um nicht mit anderen Fenster in Konflikt zu kommen.
Beispiel:
Bei OpenWindow(#Main, ...) wird aus den folgenden Konstanten
MenuItem(#Datei_Neu, ...) zu MenuItem(#Main_Datei_Neu, ...)
ButtonGadget(#Ok, ...) zu ButtonGadget(#Main_Ok, ...)

Unter PB-IDE Einstellungen "Form"
- PB_Any ausschalten
- Generiere Ereignisprocedur ausschalten
- Generiere Ereignis-Schleife ausschalten


Download
ftp://gast:1234@mk-soft.selfip.net/array1/files/mytools/eventdesigner/

:wink:

P.S. Ist schon länger im englischen Forum verfügbar. War aber einige Tage im Ausland...

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Zuletzt geändert von mk-soft am 03.07.2018 21:58, insgesamt 3-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 12.03.2016 21:05 
Offline

Registriert: 30.03.2011 20:53
Interessantes Programm. Mir gefällt der generierte Code. Er sieht sehr aufgeräumt aus.
Zum Auswählen der PBF-Dateien könnte ich mir Drag'n'Drop gut vorstellen. Das würde das Durchklicken zum Arbeitsverzeichnis ersparen.

Bei meinen Tests wurde manchmal fehlerhafter Code erstellt. Ich habe aber noch nicht herausgefunden, unter welchen Bedingungen das passiert. (PB 5.42 32Bit)

In dem einfachen Testprojekt habe ich zwei in der Größe veränderbare Fenster erstellt, FormMain und FormSettings. Wenn ich das Programm starte, öffnet sich FormMain. Über das Menü in FormMain öffne ich FormSettings. Jetzt erhalte ich einen Compilerfehler in der Resize-Prozedur (Resize_FormSettings).

Fehlermeldung: Das angegebene #Gadget ist nicht initialisiert.

Hier ist das nicht funktionierende Projekt: Test.zip


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 12.03.2016 23:23 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
@matbal

Danke für das Feedback.

Unter Mac tritt der Fehler nicht auf, aber bei Windows. Habe es gerade auf XP mal getestet.
Wie es aus sieht läuft das Event Resize schon auf, obwohl das Fenster noch nicht ganz aufgebaut ist.
Code:
Update v1.02

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Zuletzt geändert von mk-soft am 15.03.2016 14:56, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 13.03.2016 00:13 
Offline

Registriert: 30.03.2011 20:53
Ich habe jetzt herausgefunden, warum ich diesen Fehler nicht immer hatte. Nur wenn das Fenster, das ich öffne, ein Menü hat, wird (überflüssigerweise) dieses Event ausgelöst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 13.03.2016 01:13 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Danke fürs finden :allright:

Aktuelle Lösung über Macro...
Code:
Procedure MyResizeGadget(Gadget, x, y, width, height)
  If IsGadget(Gadget)
    ResizeGadget(Gadget, x, y, width, height)
  EndIf
EndProcedure

Macro ResizeGadget(Gadget, x, y, width, height)
  MyResizeGadget(Gadget, x, y, width, height)
EndMacro

Werde ich so automatisch in der Commonfile.pb einbauen

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 13.03.2016 14:56 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Neue Version für alle OS Online...

Update v1.02
- Bugfixes
- Added Drop Common files

:wink:

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 11.10.2016 17:39 
Offline

Registriert: 12.02.2014 20:02
Hallo mk-Soft,

teste gerade Deinen EventDesigner V1.02 unter Win7/x86.

Ich habe den Effekt, dass das Frame-Gadget im Common-File nicht
korrekt erscheint. In der Gadget-Enumeration wird es nicht gelistet
und in Open_WinMain() fehlt #WinMain vor dem#FrameBot.

In Resize_WinMain() dagegen erscheint es korrekt als #WinMain_FrameBot.

Bei anderen Gadgets gibt es das Problem nicht.

Code:
;-TOP

; Event Designer -  Commonfile (Do Not Edit - Allways Overwrite)

; ***************************************************************************************

Procedure MyEventResizeGadget(Gadget, x, y, width, height)
  If IsGadget(Gadget)
    ResizeGadget(Gadget, x, y, width, height)
  EndIf
EndProcedure

Macro ResizeGadget(Gadget, x, y, width, height)
  MyEventResizeGadget(Gadget, x, y, width, height)
EndMacro

; ***************************************************************************************

;- Window Constants
;
Enumeration
  #WinMain
  #WinSlave
EndEnumeration

;- Menubar Constants
;
Enumeration
EndEnumeration

;- MenuItem Constants
;
Enumeration
EndEnumeration

;- Gadget Constants
;
Enumeration
  #WinMain_BtnOk
  #WinMain_BtnCancel
  #WinMain_BtnOpenSlave
  #WinMain_CntBot
  #WinSlave_BtnCancel
EndEnumeration

;- StatusBar Constants
;
Enumeration
EndEnumeration

;- ToolBar Constants
;
Enumeration
EndEnumeration

;- Font Constants
;
Enumeration
EndEnumeration

;- Image Constants
;
Enumeration
EndEnumeration


; ***************************************************************************************

;- Load Font

;- Image Plugin

;- Load Images


; ***************************************************************************************

Procedure Open_WinMain(x = 0, y = 0, width = 600, height = 400)
  OpenWindow(#WinMain, #PB_Ignore, #PB_Ignore, width, height, "", #PB_Window_SystemMenu | #PB_Window_SizeGadget)
  ButtonGadget(#WinMain_BtnOk, 430, 345, 145, 35, "Ok")
  ButtonGadget(#WinMain_BtnCancel, 10, 345, 145, 35, "Abbrechen")
  ButtonGadget(#WinMain_BtnOpenSlave, 275, 345, 145, 35, "Open Slave")
  ContainerGadget(#WinMain_CntBot, 30, 240, 545, 65)
  SetGadgetColor(#WinMain_CntBot, #PB_Gadget_BackColor,RGB(255,0,0))
  CloseGadgetList()
  FrameGadget(#FrameBot, 15, 165, 545, 45, "")
EndProcedure

; ***************************************************************************************

Procedure Resize_WinMain()
  Protected FormWindowWidth, FormWindowHeight
  FormWindowWidth = WindowWidth(#WinMain)
  FormWindowHeight = WindowHeight(#WinMain)
  ResizeGadget(#WinMain_BtnOk, FormWindowWidth - 170, FormWindowHeight - 55, 145, 35)
  ResizeGadget(#WinMain_BtnCancel, 10, FormWindowHeight - 55, 145, 35)
  ResizeGadget(#WinMain_BtnOpenSlave, FormWindowWidth - 325, FormWindowHeight - 55, 145, 35)
  ResizeGadget(#WinMain_CntBot, 30, FormWindowHeight - 160, FormWindowWidth - 55, 65)
  ResizeGadget(#WinMain_FrameBot, 15, FormWindowHeight - 235, FormWindowWidth - 55, 45)
EndProcedure

; ***************************************************************************************

Procedure Open_WinSlave(x = 0, y = 0, width = 600, height = 400)
  OpenWindow(#WinSlave, #PB_Ignore, #PB_Ignore, width, height, "", #PB_Window_SystemMenu, WindowID(#WinMain))
  ButtonGadget(#WinSlave_BtnCancel, 15, 345, 140, 40, "Cancel")
EndProcedure

; ***************************************************************************************

UndefineMacro ResizeGadget

; ***************************************************************************************


mfG.
hjf


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 11.10.2016 22:36 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Habe den Fehler (Bug) gefunden. Es ist noch als Frame3DGadget im filter eingetragen.
Update folgt...

Man kann aber unter Preferences/UserGadget das "FrameGadget" es erst mal eintragen. Danach ein Restart vom EventDesigner durchführen.

Danke für testen :wink:

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 12.10.2016 09:15 
Offline

Registriert: 12.02.2014 20:02
Hallo mk-Soft,

das Eintragen hat erstmal geholfen. Schön wäre eine "EnableExplicit"
in den generierten Files.

mfG.
hjf


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: EventDesigner (All OS)
BeitragVerfasst: 15.10.2016 19:09 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Update v1.03
- Bugfix FrameGadget

Etwas aufgeräumt und EnableExplizit im Main hinzugefügt :wink:

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye