Deutsch
Forum

Bug in Windows.Ph ?

 
Ich arbeite ja grad an XPSE V0.1.60, dieser parst auch die Headerfiles und ersetzt Konstanten im Source sehr viel schneller als der XProfankompiler, liest die Headerfiles aber auch ein um die Structs zu erlernen und die im Programm genutzten Structs zu überprüfen.

XPSE meckert an, das ~enPrivileges in der Windows.Ph
KompilierenMarkierenSeparierenundeklariert ist. Tatsächlich ist es auch nicht deklariert.

Beide Deklarationen sind IMHO falsch übersetzt und nicht XProfankompatibel.

12 kB
Hochgeladen:07.10.2006
Ladeanzahl116
Herunterladen
 
07.10.2006  
 



Auch:
KompilierenMarkierenSeparieren
OffsetViewportOrgEx(DC: HDC( = External(~gdi32,"OffsetViewportOrgEx",;
OffsetWindowOrgEx(DC: HDC( = External(~gdi32,"OffsetWindowOrgEx",;
OffsetViewportOrgEx(DC: HDC( = External(~gdi32,"OffsetViewportOrgEx",;
OffsetWindowOrgEx(DC: HDC( = External(~gdi32,"OffsetWindowOrgEx",;
 
07.10.2006  
 




RGH
[quote:f3529e87d3=iF]XPSE meckert an, das ~enPrivileges in der Windows.Ph[/quote:f3529e87d3]
Offensichtlich hat die Automatik beim Übersetzen von Delphi nach *.ph einige Besonderheiten nicht beachtet. Wenn ich das recht sehe, sollte statt dieser zwei Zeilen eine Zeile stehen:
KompilierenMarkierenSeparieren
!AdjustTokenPrivileges( = External(~advapi32,"AdjustTokenPrivileges",;

Gruß
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
07.10.2006  
 




RGH
[quote:b184e1f39e=iF]Auch: ...[/quote:b184e1f39e]
Da steht auch ein bißchen zu viel. So ists richtig:
KompilierenMarkierenSeparieren
!OffsetViewportOrgEx( = External(~gdi32,"OffsetViewportOrgEx",;
OffsetWindowOrgEx( = External(~gdi32,"OffsetWindowOrgEx",;
OffsetViewportOrgEx( = External(~gdi32,"OffsetViewportOrgEx",;
OffsetWindowOrgEx( = External(~gdi32,"OffsetWindowOrgEx",;
 
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
07.10.2006  
 



[quote:dd1679d36a=iF]Ich arbeite ja grad an XPSE V0.1.60, dieser parst auch die Headerfiles und ersetzt Konstanten im Source sehr viel schneller als der XProfankompiler, liest die Headerfiles aber auch ein um die Structs zu erlernen und die im Programm genutzten Structs zu überprüfen.
.[/quote:dd1679d36a]
Du solltest sehr darauf acht geben, das XPSE da nichts falsches lernt...
KompilierenMarkierenSeparieren
BS_PU<<IKE = $1000;


KompilierenMarkierenSeparieren

KompilierenMarkierenSeparieren
CLIP_LH_ANGLES = (1 << 4);
CLIP_TT_ALWAYS = (2 << 4);
CLIP_EMBEDDED  = (8 << 4);


KompilierenMarkierenSeparieren
FF_DONTCARE   = (0 << 4);     { Don"t care or don"t know. }
FF_ROMAN      = (1 << 4);     { Variable stroke width, serifed. }
{ Times Roman, Century Schoolbook, etc. }
FF_SWISS      = (2 << 4);     { Variable stroke width, sans-serifed. }
{ Helvetica, Swiss, etc. }
FF_MODERN     = (3 << 4);     { Constant stroke width, serifed or sans-serifed. }
{ Pica, Elite, Courier, etc. }
FF_SCRIPT     = (4 << 4);     { Cursive, etc. }
FF_DECORATIVE = (5 << 4);     { Old English, etc. }


KompilierenMarkierenSeparieren
STAMP_DESIGNVECTOR = $80000000 + Ord("d") + (Ord("v") << 8);
STAMP_AXESLIST = $80000000 + Ord("a") + (Ord("l") << 8);



Vielleicht verstehe ich da auch nur irgendwas nicht?
 
07.10.2006  
 




RGH
Bis auf das erste einzeilige Beispiel ist alles korrekte XProfan-Syntax. Das << ist ein korrekter Operator.
1 << 4 = 16 (Die 1 wird um 4 Bit nach links verschoben.)

Die erste Zeile muß hingegen in der Tat anders lauten: Aus PU<<IKE sollte wieder PUSHLIKE werden. Das Konvertierungsprogramm hat aus dem Delphi-Operator SHL (ShiftLeft) den XProfan-Operator << gemacht. Innerhalb eines Wortes war das natürlich falsch.

Gruß
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
07.10.2006  
 



Danke Roland.
 
07.10.2006  
 



Wo sind aber diese Sachen deklariert???
[quote:96402d7fb6]
~Securityanonymous
~Securityidentification
~Securityimpersonation
~Securitydelegation
[/quote:96402d7fb6]
 
07.10.2006  
 




RGH
Oh, Du hast recht. Die sind nicht definiert. Im Original WINDOWS.PAS handelte es sich um einen Aufzählungstypen. So ist es richtig:
KompilierenMarkierenSeparieren
!
SECURITY_ANONYMOUS = (0 << 16);
SECURITY_IDENTIFICATION = (1 << 16);
SECURITY_IMPERSONATION = (2 << 16);
SECURITY_DELEGATION = (3 << 16);

Natürlich könnte statt (0 << 16) auch eine schlichte 0 da stehen, aber wegen der Optik und Systematik ... ;)

Gruß
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
07.10.2006  
 



[quote:41e8eb0c99]Du solltest sehr darauf acht geben, das XPSE da nichts falsches lernt...[/quote:41e8eb0c99]
Naja brauch ich nicht wirklich da das Lernen ja jedes Mal aufs Neue geschieht, da er die Headerfiles ja auch jedes mal aufs Neue einliest. Mir ist dabei ein aus meiner Sicht sehr schnelles Verfahren gelungen was z.B . 6 Headerfiles in (bei mir) kaum spührbarer Zeit einliest und in den Source hineinverarbeitet.

Das entlastet den XProfanKompiler enorm, die aus meiner Sicht lange Wartezeit die der Kompiler bei Headerfiles benötigt fällt vollständig weg und der XProfanKompiler bekommt nur die Deklarationen die auch verwendet werden, und das auch noch vorgekaut.
 
07.10.2006  
 




Jac
de
Lad
MIR ist das Ganze gar nicht aufgefallen. Werden die korrigierten Versionen irgendwo bereitgestellt, oder muss sich das jeder selbst ändern?
 
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
08.10.2006  
 




RGH
[quote:f82c02c55e=Jacob Liebeck]MIR ist das Ganze gar nicht aufgefallen. Werden die korrigierten Versionen irgendwo bereitgestellt, oder muss sich das jeder selbst ändern?[/quote:f82c02c55e]
Selbstverständlich wird bei XProfan 10 die korrigierte Version dabei sein!

Gruß
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
08.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.178 Betrachtungen

Unbenanntvor 0 min.
rquindt20.06.2020
GDL09.09.2015
funkheld13.12.2013
RICOSCH30.01.2012

Themeninformationen

Dieses Thema hat 4 Teilnehmer:

RGH (5x)
iF (3x)
unbekannt (3x)
Jac de Lad (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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