| |
|
|
|
Source wurde al 10.09.2007 en el Babyklappe en XProfan.Com abgelegt:
Declarar P1&,P2&,Channel&,Button&,Ende&
Case @FileExists($SysPath +//uxtheme.dll):Def Setwindowtheme(3) !uxtheme.dll, SetWindowTheme
Proc Disablexptheme
Parámetros Hwnd&
Declarar W#
Dim W#, 2
Setwindowtheme(Hwnd&, W#, W#)
Disponer W#
ENDPROC
Def SetProgressPos(2) SendMessage(&(1),$0402,&(2),0)
Def SetProgressRange(3) SendMessage(&(1),$0401,0,MakeLong(&(2),&(3)))
Def SetProgressRange32(3) SendMessage(&(1),$0406,&(2),&(3))
Def PBM_SetBarColor(2) SendMessage(&(1),$0409,0,&(2))
Def PBM_SetBkColor(2) SendMessage(&(1),$2001,0,&(2))
window 0,0-250,150
cls
P1&=Control(msctls_progress32,,$50000000,30,10,200,10,%hwnd,2000,%hInstance)
P2&=Control(msctls_progress32,,$50000000,30,25,200,10,%hwnd,2001,%hInstance)
Case @FileExists($SysPath +//uxtheme.dll):Disablexptheme(p1&)
Case @FileExists($SysPath +//uxtheme.dll):Disablexptheme(p2&)
Button& = Crear(Button,%hwnd,Ende,30,50,80,24)
Peak de 0 - max 32768
SetProgressRange(P1&,0,32786)
SetProgressRange(P2&,0,32768)
SetProgressPos(P1&,20000)
SetProgressPos(P2&,20000)
PBM_SetBarColor(P1&,@RGB(256,0,0)) Anzeige en rot
PBM_SetBarColor(P2&,@RGB(256,256,0)) Anzeige en gelb
whilenot Ende&
waitinput
Case Clicked(Button&) : End
wend
Viele Grüße de Bangkok
Dieter
|
|
|
| |
|
|
|
RGH | Baby-Klappe
Diese Línea (DEF después de CASE-Ausdruck) kann no trabajo: Vor XProfan 8: Das DEF se nie gefunden, como no al Anfang uno Línea es. Ab XProfan 8: Das DEF se siempre gefunden, como lo hier (por Änderung el inneren Verwaltung des Case) al Anfang uno Línea es.
Hintergrund: Un DEF-Línea se primero niemals ausgeführt, como ellos eben una Definition es, en el möglicherweise später zugegriffen se. Erst entonces, si la Name el definierte Función oder Konstante en el Programmcode vorkommt, se después de ihrer Definition gesucht y esta ausgeführt (en el Falle des Interpreters) o. ihre Adresse en el Kompilat eingefügt (en el Falle des Kompilers). Der Kompiler kann en dieser Búsqueda natürlich no CASE- oder IF-Ausdruck auswerten, como dieser sólo a Laufzeit bekannt ser se. Praktisch wir el Programa de el ersten Línea durchsucht, wo esta Definition vorkommt y el entsprechende Adresse ermittelt.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 10.09.2007 ▲ |
|
|
|
|
Dieter Zornow | Hola Roland,
como du sí schreibst se ejecuta el Programa de 8.0. Sind deine Ausführungen así a interpretar, dass el Case sin Wirkung restos y una If ... Def endif Konstruktion sin Abfrage restos y jedemfall gelesen se.
Viele Grüße de Bangkok
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 11.09.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | Yo antworte veces simplemente para Roland... Das Def gehört quasi no para Code, pero se vom Präcompiler verarbeitet, en lo en el Programa verfügbar a hacer. Bedingte Definitionen könntest Usted con el Compilerschalter $IFDEF ... erreichen, aber auch no a Laufzeit, pero sólo en Erstellung des Programms. Besonders en diesem Fall bringt el Case en efecto nichts, como sí el Prozeduren sowieso en el Code son y hay entonces sin la definierte Función ziemlichen Mist produzieren könnten. Definitionen also simplemente a el Anfang des Programms y fertig. Wenn entonces kannst Usted en una Función, el Usted sólo una vez necesidad, mejor encima Externo(...) zugreifen.
Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 11.09.2007 ▲ |
|
|
|
|
Michael Wodrich | @Dieter: Si usted una vez al Anfang en el DLL prüfst y el Ergebnis en uno Variable vermerkst (z.B. uxTheme%=1) se Su Programa más rápido laufen.
Como Usted el Einbinden no verhindern kannst, lugar el Definitionen todos a el Programmanfang.
Case uxTheme% : Función() sería entonces el Aufruf ser, si DLL disponible.
Meines Wissens fällt el Programa en DEF y fehlender DLL no en el Nase. Erst si la Función aufgerufen se y el DLL fehlt, entonces gibts una Abflug.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 11.09.2007 ▲ |
|
|
|
|
RGH | Michael Wodrich
Meines Wissens fällt el Programa en DEF y fehlender DLL no en el Nase. Erst si la Función aufgerufen se y el DLL fehlt, entonces gibts una Abflug.
Korrekt!
Mit DEF se el DLL dynamisch gelinkt. Das heißt also, en DEF se sólo el Name definiert y sólo beim Aufruf el Función debería el DLL entonces auch wirklich como ser.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 11.09.2007 ▲ |
|
|
|
|
Dieter Zornow | Si el así es, puede ser se el caso antes el Def schenken, Tuve aber veces en uno Dll una Función aufgerufen, Sommer y Winterzeit betreffend, esta Función hay bajo XP no mehr en el Form en el Dll. Dabei wurde el Fehler en el Def Línea adecuado, dass el Función No se ha encontrado wurde, deshalb pensamiento Yo dass el Dll ya en el Def Línea abprüft se. Yo quería ausschließen, dass lo en kleineren Windowsversionen a dieser Meldung kommt.
Viele Grüße de Bangkok
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 11.09.2007 ▲ |
|
|
|