| |
|
|
Sato Pinto | Sato P. Hallo Allerseits
Ohne XPSE funktioniert es, mit XPSE bekomme Meldung das variablen nicht deklariert sind. Als ich mich vor paar Wochen damit befasst habe, meine mich zur Erinnern das durch am Anfang des Program deklarieren der variablen die in den Structs vorkommen es zum funktionieren gebracht. Habe es jetzt auch versucht aber ohne Ergebniss. Kann sich jemand die Mühe machen "iF" und sich den code ansehen was da Falsch ist?
Danke Grüsse Sato
Wenn ich mir die generierte *.enh Datei anschaue, warum declariert Xpse in diesen Proc Daylightsaving die variable UDTTZI# KompilierenMarkierenSeparieren Hier ein lauffähges abgespeckten Teil zum testen. KompilierenMarkierenSeparieren {$cleq}
Def &TIME_ZONE_ID_DAYLIGHT 2
Def GetTimeZoneInformation(1) !"kernel32", "GetTimeZoneInformation"
declare StandardDate!,Bias&,StandardBias&,DaylightDate!,DaylightBias&,StandardName#,DaylightName#
declare wMonth%,wDayOfWeek%,wDay%,wHour%,wMinute%,wSecond%,wMilliseconds%
Struct SYSTEMTIME =
wYear%,
wMonth%,
wDayOfWeek%,
wDay%,
wHour%,
wMinute%,
wSecond%,
wMilliseconds%
Struct TIME_ZONE_INFORMATION =
Bias&, Basis-Zeitverschiebung in Minuten
StandardName#(64), Name der Normalzeit-Zeitzone
StandardDate!SYSTEMTIME, Beginn der Standardzeit
StandardBias&, Zusätzliche Zeitverschiebung der Standardzeit
DaylightName#(64), Name der Sommerzeit-Zeitzone
DaylightDate!SYSTEMTIME, Beginn der Sommerzeit
DaylightBias& Zusätzliche Zeitverschiebung der Sommerzeit
Proc DaylightSaving
// Gibt zurück, ob Sommerzeit besteht.
Var udtTZI# = New(TIME_ZONE_INFORMATION)
Var RetVal& = GetTimeZoneInformation(udtTZI#)
Return (RetVal& = &TIME_ZONE_ID_DAYLIGHT)
EndProc
Print "Sommerzeit: "; If(DaylightSaving(), "Ja", "Nein")
WaitInput
End
|
|
|
| |
|
|
|
Sato Pinto | Hallo Allerseits
Scheint so das XPSE nicht mit den geposteten code klar kommt, und da iF sich nicht gemeldet hat wird es wahrscheinlich so bleiben, das ist nicht weiter Schlimm dar ich mein Programm geändert habe und nicht mehr XPSE benötigt, nur es ist Schade wegen XPRR der mir den Icon und andere Dinge in der Exe ändert. Muss es jetzt mit Ressource Hacker ändern.
XPSE kommt mit den folgenden code nicht zurecht und ich verstehe es auch nicht die Syntax. Kann jemand diese Zeile erklären? Wird die Structur SYSTEMTIME in der variable StandarDate! eingelesen?
StandardDate!SYSTEMTIME
Gruss Sato |
|
|
| |
|
|
|
| Habs mir noch garnicht angeschaut. Im Übrigen - wie auch in der Dokumentation erwähnt - und hier im Forum schon X Mal erklärt - gibt es {$noerr} für solche Fälle bis Abhilfe geschaffen ist.
Aussagen wie
Ohne XPSE funktioniert es, mit XPSE bekomme Meldung das variablen nicht deklariert sind. sind normalerweise eh zu unqualifiziert, dass ich solche Themen erstmal auf die lange Bank schiebe. Einfach mal W drücken und die Fehler hier posten könnte da doch schon sehr hilfreich sein. Man kann zudem auch noch aus der Konsole kopieren...
dar ich mein Programm geändert habe und nicht mehr XPSE benötigt
Kein Programm benötigt XPSE, es sind die Programmierer.
XPSE wart hiermit: Error : (STANDARDDATE!SYSTEMTIME) UNDEKLARIERT.
Und Du hast in der Strukturdefinition auch StandardDate!SYSTEMTIME deklariert. XPSE kommt hier einfach noch nicht mit einem neuen XProfan11-Feature klar, Struktureneigenschaften auch mit Strukturen definieren zu können.
Auch hier gibt es Abhilfe, die XPSE seither anbietet: (Veralterungsschutz) KompilierenMarkierenSeparieren {$pushkeyword STANDARDDATE!SYSTEMTIME}
{$pushkeyword DAYLIGHTDATE!SYSTEMTIME}
Übrigens, Dein obiger Source hat einen Fehler auf den XProfan aufmerksam macht. |
|
|
| |
|
|
|
| Nachtrag: Ich habe den dumm gewählten Topictitel "Ohne Xpse funktioniert es" geändert.
Aussagekräftige Titel musst Du vergeben, andernfalls schreibe wo anders. |
|
|
| |
|
|
|
Sato Pinto | Hallo iF
Mein Gott bist Du empfindlich, hast ein schlechten Tag?
(schon X Mal erklärt - gibt es {$noerr} für solche Fälle bis Abhilfe geschaffen ist.) Leider nein, hatte ich versucht, kommt immer die Meldung das die variable udtTZI# doppelt declariert sei wahrscheinlich weil XPSE es nochmal in der Proc DaylightSaving declariert?
(Ich habe den dumm gewählten Topictitel "Ohne Xpse funktioniert es" geändert auf "Strukturen in Strukturen) Ob der Titel dumm ist, nur eine Ansichtssache? Wollte XPSE bestimmt nicht schlecht machen, ich benutze es in alle meine Programme und hat mich schon mehrmals sehr geholfen, der Titel war nur was mir so auf die schnelle eingefallen ist.
(Aussagekräftige Titel musst Du vergeben, andernfalls schreibe wo anders) Bitte erkläre das genauer bevor ich mich dazu äussere.
Und bitte nicht böse sein, das is es gar nicht Wert
Gruss Sato |
|
|
| |
|
|
|
| So schlecht der Titel auch gewählt war ( und nein, XPSE hättest auch in Sonstwas tauschen können, er wäre dann nicht "besser" gewesen) - so hilfreich dennoch Dein Beitrag!
Hast mich neben dem fehlenden Struc!Struc-Feature auf einen Fehler im XPSE aufmerksam gemacht!
Das rührt daher das XPSE im Grunde lieber: KompilierenMarkierenSeparierenerwartet, also mem statt var für Bereiche und Strukturen- und dann auch udtTZI überall ohne #.
Bei Var auf einen Speicher# für ein New( habe ich wohl etwas falsch gemacht.
Das sollte nun aber nicht bedeuten: Umso schlechtere Titel -> Desto besseres Content.
Sato Pinto
iF"Aussagekräftige Titel musst Du vergeben, andernfalls schreibe wo anders." Bitte erkläre das genauer bevor ich mich dazu äussere.
Damit meine ich, (und das gilt für mich wie für vielleicht auch alle anderen) dass meist das längere Nachdenken für eine Titelvergabe notwendig ist, um einen Titel zu finden, welcher das Thema möglichst gezielt beschreibt und mögliche Fehlschlüsse ausschliesst.
Wenn dieses Geschick mit der richtigen Forumwahl kombiniert wird, kann effizienter mit dem Anliegen umgegangen werden. Der Vorteil ist klar: Schnellere Resonanz und weniger Nebengeräusche.
Beispiel:
Statt in: Hauptseite » Die XProfan-Community » Programmierung / Allgemein / Einsteigerfragen » Ohne Xpse funktioniert es
Nach: Hauptseite » IDE, Helfer, Tools und Precompiler » XPSE - Der XProfan-Syntax-Enhancer » Fehler bei Strukturen
... und der Thread würde ganz anders behandelt werden, da pauschal schonmal eine gewisse Ernsthaftigkeit unterstellt werden kann. Dennoch, ich verwechsle keines Falls Dich als Person mit technisch unkorrekten Themenbetitelungen. Soll heissen, mein Beitrag hat um Himmels willen nichts mit Dir als Person zu tun. Es ist eher eine mechanische Antwort die ich mir in diesem Fall auch selbst hätte geben können. Sei also bitte nicht gestutzt und fühle Dich bitte keines Falls wie "angegriffen", "Korrekte Thementitel" kann natürlich auch eine Macke sein...
XPSE bringe ich zum nächsten Update bei, die o.g. Situationen korrekt zu bewerkstelligen. |
|
|
| |
|
|
|
Sato Pinto | Alles geklärt
Freuhe mich aud den nächsten Update
Gruss Sato |
|
|
| |
|
|
|
| Ging ganz fix zu Lösen: [...]
Danke für das Feedback! |
|
|
| |
|
|
|
Sato Pinto | Funktioniert sehr gut Danke |
|
|
| |
|
|
|
| |
|
| |
|
|