Italia
Stammtisch & Caffè

XProfan 10 - Letzte Änderungen

 
- Page 1 -



RGH
XProfan 10 nähert sich langsam aber sicher der Release-Version. Die nächste Subscriptionslieferung wird also Version RC1 (ReleaseCandidat 1) sein.

Folgende Syntaxänderungen im OpenGL-Bereich habe ich noch eingebaut:

Die OGL-Funktionen Bitmapfont und Outlinefont erhalten einen weiteren Parameter, nämlich das Handle eines mit Create(Font,...) erzeugten Fonts. Die bisherige Lösung mit UseFont hatte den Nachteil, daß sie naturalmente nur funktionierte, wenn das OpenGL-Fenster das Hauptfenster des Programmi war. So schauts jetzt aus:

FontNr% = oGL(BitmapFont, hFont&)
FontNr% = oGL(OutlineFont, hFont&, mode!)

Ihr müßt also alle Programme, die Fonts verwenden, entsprechend anpassen. Ich denke aber, besser jetzt vor dem Release noch eine Syntaxänderung, als später der Kompatiblität wegen eine Krücke!

Saluto
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.08.2006  
 



 
- Page 2 -



Jac
de
Lad
@Frank: Jaja, das weiß ich, aber mit Stringvariablen isses immer Mist.

@Sebastian: Danke, ich schau mir das an!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
20.08.2006  
 




RGH
Noch eine kleine Erweiterung:

SetStyle und GetStyle() bekommen einen neuen, optionalen Parameter:

SetStyle  Handle&, [Modus%,] Stil&
Ist Modus% = 0 wird wie bisher der normale Stil gesetzt (GWL_STYLE), ist der Modus% = 1, wird der erweiterte Stil gesetzt (GWL_EXSTYLE).

Stil& = GetStyle (Handle& [, Modus%])
Ist Modus% = 0 wird wie bisher der normale Stil gelesen (GWL_STYLE), ist der Modus% = 1, wird der erweiterte Stil gelesen (GWL_EXSTYLE).

Wird der neue Parameter Modus% weggelassen, funktionieren SetStyle und GetStyle() wie bisher.

Saluto
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
21.08.2006  
 




Jac
de
Lad
Eine sehr sinnvolle Erweiterung Danke Roland!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.08.2006  
 




Jac
de
Lad
Ist der RC2 schon draußen???
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.08.2006  
 




RGH
[quote:4e30fb229f=Jacob Liebeck]Ist der RC2 schon draußen???[/quote:4e30fb229f]
Nein, sie soll aber heute oder morgen an alle Subscriptionskunden gehen.
Außerdem will ich vor meinem Urlaub per die Abokunden auch noch eine entsprechende CD fertig machen.

Saluto
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
22.08.2006  
 




Jac
de
Lad
Halllo Roland!

Da laut Outlook meine Mails nicht bei dir ankommen schreibe ich das jetzt eben hier rein:

1.
Offenbar haben SubStr und Instr in RC1 Probleme mit Leerzeichen am Anfang und Ende eines Strings:
KompilierenMarkierenSeparieren
assign #1,"D:ProjekteDigicam-AssistentErrorproc.inc"
assign #2,"D:ProjekteDigicam-AssistentErrorproc2.inc"
declare p$
Reset #1
Rewrite #2

while Neq$("endproc",Lower$(p$))

    Input #1,p$

    if Instr(" : ",p$)

        Print #2,"caseof "+SubStr$(p$,1," : ")
        Print #2,"err$=q"+Left$(SubStr$(p$,2," : "),Len(SubStr$(p$,2," : "))-1)+"q"

    else

        Print #2,p$

    endif

wend

Close #1
Close #2
messagebox("","",0)
end

(Entsprechende File mit Beispielmaterial vorausgetzt!)

2.
Print und Input funktionieren nicht mit File, die mit Assign() benutzt werden. Da landen die Ausgaben immer im Hauptfenster. Soll das so sein (Assign() nur per binäre File oder was in der Richtung)?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.08.2006  
 




Jac
de
Lad
Hallo Roland, ich nochmal.

Nach einigen Abstürzen, deren Fehler ich erst spät gefunden habe ist mir noch eine Idee gekommen:

Wie wärs wenn du, falls possibile, ähnlich wie in Delphi, wo man die ExitProc umleiten kann, dem Profaner die Möglichkeit gibst, eine Prozedur zu schreiben, dann eben nicht errorproc sondern exitproc oder so, die alle verbliebenen Speicherbereiche im Fehlrefall freigibt und all solchen Kram. Ich denke, das wäre sehr hilfreich (per XProfan 11 oder so)...

Jac

PS: Wäre auch gut, wenn man die Funktion/Prozedur auch so normal aufrufen potuto, quasi als Programmdestruktor.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.08.2006  
 




RGH
[quote:dece3ac862=Jacob Liebeck]Da laut Outlook meine Mails nicht bei dir ankommen schreibe ich das jetzt eben hier rein:[/quote:dece3ac862]
Da solltest Du mal mit Deinem OutLook reden. Offenbar lügt es! Deine Mail ist angekommen und bereits beantwortet!

Und ob eine Dateizuweisung mit Assign #nr%, name$ oder nr% = Assign(name$) erfolgt, macht keinerlei Unterschied!

Saluto
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
22.08.2006  
 




Jac
de
Lad
Hallo Roland!

Ich hatte es schon mal woanders angesprochen, aber ich machs trotzdem nochmal:

Wenn man ein SpinEdit mittels EnableWindow deaktiviert, bleiben die Pfeile aktiv bis man mit der Maus drüberfährt (entsprechend umgekehrt ist es beim aktivieren). Ich habs auf Dialogfenstern probiert, keine Ahnung obs auf %HWnd auch so ist...
Ich weiß auch nicht obs an Profan oder Windows liegt, aber vielleicht findest du ja einen eventuell vorhandenen Fehler oder jemand hat ne Idee wie man das verhindert (Repaint und so bringt nichts!).

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
23.08.2006  
 




Jörg
Sellmeyer
Hallo Jac,
Du kannst die Pfeile ebenfalls deaktivieren:
KompilierenMarkierenSeparieren
EnableWindow spin&,0
EnableWindow GetHandle(%hwnd,ItemId(spin&) + 1),0e>
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.08.2006  
 




Jac
de
Lad

Ich kann meine Freude darüber gar nicht ausdrücken! Hab schon ewig danach gesucht! DANKE! (Das sollte noch irgendwo festgehalten werden).

Ich persönlich habe die Funktion ItemId noch nie verwendet...jetzt ergibt er auch einen wirklichen Sinn!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
23.08.2006  
 




Dietmar
Horn
Hallo Roland,

soviel Ärger wie diesmal hatte ich seit Profan² 3.3 nicht gehabt, um jahrelang fortentwickelte Programme auf eine neue PRF-Version umzustellen. Bislang reichte immer ein Austauschen von Interpreter, Runtime und Compiler aus und man konnte vergnügt weiterprogrammieren.
KompilierenMarkierenSeparieren
declare d0&,blb&,dmp$
Window 0,0 - 600,400
d0& = Create("Dialog",%HWnd,"Dialog",5,5,500,300)
blb& = Create("SortedListbox",d0&,"",9,5,Width(d0&) - 18,Height(d0&) - 30)
AddString(blb&,"Zeile 0")
AddString(blb&,"Zeile 1")
AddString(blb&,"Zeile 2")
AddString(blb&,"Zeile 3")
AddString(blb&,"Zeile 4")
AddString(blb&,"Zeile 5")
AddString(blb&,"Zeile 6")
AddString(blb&,"Zeile 7")
SendMessage(blb&,$0186,0,0)
SetFocus(blb&)
dmp$ = trim$(GetString$(blb&,GetCursel(blb&)))
WaitInput
end

Dieser Primitiv-Code funktioniert in unterschiedlichen Varianten seit Jahren tadellos auch dann, wenn die Listbox am Anfang noch leer ist. Nun kommt plötzlich bei jeder Zeile in der Art:

dmp$ = trim$(GetString$(blb&,GetCursel(blb&)))

die Fehlermeldung Ungültiger Funktionswert!, solange die Listbox noch leer ist.

Klar - in einem 1000-Zeiler kann man das simpel durch eine zusätzliche GetCount-Abfrage abfangen. Doch bei einem meiner derzeitigen Projekte mit inzwischen 120000 Codezeilen wären da etliche Klimmzüge erforderlich. Denn bei -zig verschiedenen Listboxen wäre da schon etwas mehr stupide Fleißarbeit angesagt, als lediglich einmal Suchen-Ersetzen laufen zu lassen.

Zumal ich mir nun gar nicht mehr sicher bin, ob das die letzte Inkompatibilität wäre, nachdem ich das mit diesen Listboxen evtl. alles im Code angepaßt hätte.

Muß sowas wirklich sein?

Kannst Du das noch irgendwie bis zum finale Erscheinen von XProfan 10.0 so abändern, daß auch diese Kleinigkeit wieder so funktioniert, wie bereits seit Jahren?

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
25.08.2006  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.302 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie