Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 Profan X4
Autor: Steven Scheidler (---.dyn.telefonica.de)
Datum:   13.01.20 09:01

Hallo hab mal wieder eine Frage habe von X2 auf X4 umgestellt

nun habe ich folgendes Problem:

 proc dialog
   declare hFont&
   declare _ende%
   declare _dlg%
   declare IcB1&
   declare iconbutton1%
   declare IcB2&
   declare iconbutton2%
   declare IcB3&
   declare iconbutton3%
   declare IcB4&
   declare iconbutton4%
   declare IcB5&
   declare iconbutton5%
   declare IcB6&
   declare iconbutton6%
   declare IcB7&
   declare iconbutton8%
 
   hFont& = create("Font", "ARIAL",14,0,0,0,0)
   setdialogfont hFont&
 
   _dlg% = create("dialog", %hWnd, "Dialog", 0,0, 1300, 278)
  
    
   IcB1& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 64)
   iconbutton1% = Create("IconButton", _dlg%, IcB1&, 755, 62, 100, 42)
   @Create("Tooltip",%hwnd,iconbutton1%,"behandlung/Verkauf löschen...") 
   
   IcB2& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 28)
   iconbutton2% = Create("IconButton", _dlg%, IcB2&, 335, 62, 100, 42)
   @Create("Tooltip",%hwnd,iconbutton2%,"behandlung einfügen...")
   
   IcB3& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 38)
   iconbutton3% = Create("IconButton", _dlg%, IcB3&, 435, 62, 100, 42)
   @Create("Tooltip",%hwnd,iconbutton3%,"Verkauf einfügen...")
   
   IcB4& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 43)
   iconbutton4% = Create("IconButton", _dlg%, IcB4&, 535, 62, 100, 42)
   @Create("Tooltip",%hwnd,iconbutton4%,"Gutschein einfügen...")
 '  
 '  IcB5& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 47)
 '  iconbutton5% = Create("IconButton", _dlg%, IcB5&, 635, 62, 100, 42)
 '  @Create("Tooltip",%hwnd,iconbutton5%,"Preis ändern...")
 '  
 '  IcB6& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 22)
 '  iconbutton6% = Create("IconButton", _dlg%, IcB6&, 210, 62, 100, 42)
 '  
 '  IcB7& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 86)
 '  iconbutton7% = Create("IconButton", _dlg%, IcB7&, 110, 62, 100, 42)
 '
 '  @Create("Tooltip",%hwnd,iconbutton2%,"behandlung einfügen...")
 '  @Create("Tooltip",%hwnd,iconbutton3%,"Verkauf einfügen...")
 '  @Create("Tooltip",%hwnd,iconbutton4%,"Gutschein einfügen...")
 '  @Create("Tooltip",%hwnd,iconbutton5%,"Preis ändern...")
 '  @Create("Tooltip",%hwnd,iconbutton1%,"behandlung/Verkauf löschen...") 
 
 
   _ende% = 0
   whilenot _ende%
     waitinput
     if (%key = 2)
       _ende% = 1
     endif
   endWhile
   destroywindow(_dlg%)
   setdialogfont 0
   deleteobject hfont&
 endproc
 
 windowtitle "Dialog-Test"
 cls
 
 dialog
 waitinput
 end
 



ab dem 3 Iconbutton findet er das Icon nicht mehr und Xprofan meldet einen Fehler

Beitrag beantworten
 
 Re: Profan X4
Autor: Arndt Lindner (---.dip0.t-ipconnect.de)
Datum:   13.01.20 15:17

Wenn ich den Tippfehler "declare iconbutton8%" korrigiere ("declare iconbutton7%"), läuft das Programm auch mit hereinahme des auskommentierten Codes unter XProfanX4 ohne Probleme.

Beste Grüße
Arndt Lindner



Beitrag beantworten
 
 Re: Profan X4
Autor: Steven Scheidler (---.dyn.telefonica.de)
Datum:   13.01.20 19:41

Bei mir funktioniert es einfach nicht.
Ich kann mir das gerade nicht erklären

 proc dialog
   declare hFont&
   declare _ende%
   declare _dlg%
   declare IcB1&
   declare iconbutton1%
   declare IcB2&
   declare iconbutton2%
   declare IcB3&
   declare iconbutton3%
   declare IcB4&
   declare iconbutton4%
   declare IcB5&
   declare iconbutton5%
   declare IcB6&
   declare iconbutton6%
   declare IcB7&
   declare iconbutton7%
 
 
   hFont& = create("Font", "ARIAL",14,0,0,0,0)
 
   _dlg% = create("dialog", %hWnd, "Dialog", 0,0, 1300, 278)
 
   IcB1& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 64)
   iconbutton1% = Create("IconButton", _dlg%, IcB1&, 755, 62, 100, 42)
 
   IcB2& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 28)
   iconbutton2% = Create("IconButton", _dlg%, IcB2&, 335, 62, 100, 42)
 
   IcB3& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 38)
   iconbutton3% = Create("IconButton", _dlg%, IcB3&, 435, 62, 100, 42)
 
   IcB4& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 43)
   iconbutton4% = Create("IconButton", _dlg%, IcB4&, 535, 62, 100, 42)
 
   IcB5& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 47)
   iconbutton5% = Create("IconButton", _dlg%, IcB5&, 635, 62, 100, 42)
 
   IcB6& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 22)
   iconbutton6% = Create("IconButton", _dlg%, IcB6&, 210, 62, 100, 42)
 
   IcB7& = @Create("hIcon", "C:\WINDOWS\SYSTEM32\SHELL32.DLL", 86)
   iconbutton7% = Create("IconButton", _dlg%, IcB7&, 110, 62, 100, 42)
 
   _ende% = 0
   whilenot _ende%
     waitinput
     if (%key = 2)
       _ende% = 1
     endif
   endWhile
   destroywindow(_dlg%)
   
 
   deleteobject IcB1&
   deleteobject IcB2&
   deleteobject IcB3&
   deleteobject IcB4&
   deleteobject IcB5&
   deleteobject IcB6&
   deleteobject IcB7&
 
 
 
 
 endproc
 
 windowtitle "Dialog-Test"
 cls
 
 dialog
 waitinput
 end
 
 


Beim ersten mal Ausführen(Interpreter) klappt es bei mir auch,
beim 2ten mal nicht mehr.
Da bekomme ich die Fehlermeldung "Icon in der dll nicht gefunden"
Selbst wenn ich "/" durch "//" austausche mal funktioniert es und mal wieder nicht

Bin ratlos::cry:



Beitrag beantworten
 
 Re: Profan X4
Autor: Arndt Lindner (---.dip0.t-ipconnect.de)
Datum:   13.01.20 21:33

Erstaunlich; Bei mir läuft es mehrfach im Interpreter als auch als übersetzte .exe.
Vielleicht solltes du die Zeile "destroywindow(_dlg%)" hinter den Block mit den "deleteobject-Anweisuingen" verschieben. "_dlg%" ist das übergeordnete Handle zu den "IcBx&"-Handles. Das ist dann bereits freigegeben, wenn Du die Objekte löschst.

Übrigens: Meine Rechnerkonfiguration (falls das eine Rolle spielt, da das Programm bei mir läuft, warum auch immer):

Win 10
CPU: Intel i5-7400
RAM: 16,0 GB

Beste Grüße
Arndt Lindner



Beitrag beantworten
 
 Re: Profan X4
Autor: Markus Barkholz (---.hsi16.unitymediagroup.de)
Datum:   17.05.21 21:24

Hallo,

Es ist zwar schon ein etwas älterer Beitrag aber das gleiche Problem hatte ich auch und habe es dann so gelöst:

 For i%, 0, (Objects%-1)                                                                                             'Schleife für die Positionierung der Buttons
   hIcon&[i%] = Create("hIcon", path$[i%], 0)                                                                        'Icons aus den portablen Tools auslesen
   Sleep 25                                                                                                          'Verzögerung, weil einige Icons nicht eingelesen werden
   hButton&[i%] = Create("ICONBUTTON", %hWnd, hIcon&[i%], (i%*IconSize%), 0, IconSize%, IconSize%)                   'Buttons mit Icons bestücken
   Sleep 25                                                                                                          'Verzögerung, weil einige Icons nicht eingelesen werden
   hToolTip&[i%] = Create("Tooltip", %hWnd, hButton&[i%], info$[i%])                                                 'Tooltipps festlegen
 EndFor                                                                                                              'Schleife Beenden
 


Wichtig waren die beiden Speep-Befehle. Offenbar braucht es einige Zeit bis die Icons in den Dateien gefunden werden.

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org