variable unused / not have been set before first use

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Benutzeravatar
Hans Zethofer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 278
Registriert: Fr, 27. Jan 2006 8:29
Wohnort: 2700 Wiener Neustadt
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von Hans Zethofer »

Der Download von Olaf's Seite geht nicht mehr - ich habe zwar den v2.03 Code doch da sind zB deine Anregungen aus der Newsgroup nicht eingearbeitet.

Was ist jetzt der letzte Stand? - ich würde das gerne weiter bearbeiten aber nur auf einem letztgültigen Stand (wo schon die bekannten Fehler ausgebessert wurden)

Möchte sich jemand daran (an der Umsetzung) beteiligen?
_____________
lg
Hans
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2935
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von Wolfgang Ciriack »

Hallo Hans,
hätte schon Interesse, aber z.Zt. wenig Zeit dafür. Ich würde aber gerne mal den Stand den du hast testen.
Kannst du ihn mir mal zumailen ? (ciriack_at_ciju_punkt_de)
Viele Grüße
Wolfgang
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: variable unused / not have been set before first use

Beitrag von Magic »

Guten Morgen,

vielen Dank für die Vorschläge und die so rege Diskussion.
Die Schalter auszuschalten stellt für mich keine Option dar. Anders beheben konnte ich es leider auch nicht, und so werde ich dann weiter mit dieser etwas nervigen Meldung leben müssen.
Gruß,
Magic
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von brandelh »

Was heißt hier beheben geht nicht ???

"Variable unused" kann man ganz einfach so weg bekommen

Code: Alles auswählen

if .f. // dieser Zweig wird nie betreten, ist aber "used" ;-)
   ? MyUnusedVar // und weg ist die Warnung, denn die Var ist nun used.
endif
"not have been set before first use"

Code: Alles auswählen

local mp1, mp2, oXbp // so sieht es oft aus und dann kann es sein, dass der Compiler meckert.
local mp1 := nil, mp2 := nil, oXbp := nil  // hat genau die gleiche Wirkung, aber es wurde NIL expliziet zugewiesen. Kein Meckern.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14653
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von Jan »

brandelh hat geschrieben:"Variable unused" kann man ganz einfach so weg bekommen

Code: Alles auswählen

if .f. // dieser Zweig wird nie betreten, ist aber "used" ;-)
   ? MyUnusedVar // und weg ist die Warnung, denn die Var ist nun used.
endif
Ich mach das immer so

Code: Alles auswählen

UnUsed(MyUnusedVar)
Diese Zeilen stehen bei mir immer im Block direkt hinter dem Block der Variablendeklarationen, das macht es mir übersichtlicher.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: variable unused / not have been set before first use

Beitrag von Magic »

Die Warnungen kommen (in meinem konkreten Fall) Zustande wenn ich die u.g. Funktionen benutze:

Code: Alles auswählen

DLLFUNCTION wapiGetDefaultPrinter( @pPrinter, @pwdBufferSize ) ;
            ALIAS GetDefaultPrinterA ;
            USING OSAPI ;
            FROM WINSPOOL.DRV

DLLFUNCTION wapiSetDefaultPrinter( pPrinter ) ;
            ALIAS SetDefaultPrinterA ;
            USING OSAPI ;
            FROM WINSPOOL.DRV

DLLFUNCTION wapiShellExecute( nHWND, cOperation, cFile, cParms, cDirectory, nOpenMode );
            ALIAS ShellExecuteA ;
            USING OSAPI ;
            FROM SHELL32.DLL
Und leider bin ich nicht in der Lager (wieso eigenltich nicht?) diese so zu erweitern (wie in Euren Beispiel), damit die Warnungen verschwinden.
Gruß,
Magic
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von brandelh »

die DLLFUNCTION ist keine richtige Funktion ;-)
Der Präprozessor setzt diese erst zu einer zusammen und dort stehen die monierten Zeilen.
Du kannst z.B. hingehen und mit dem /P Schalter den *.PPO code ansehen.
Diesen dann kopieren und anstelle von den DLLFUNCTION nutzen.
Diesen kannst du dann auch verbessern. Es ist z.B. recht gewagt davon auszugehen, dass eine DLL immer vorhanden ist ;-)
Gruß
Hubert
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: variable unused / not have been set before first use

Beitrag von Magic »

brandelh hat geschrieben:Du kannst z.B. hingehen und mit dem /P Schalten den PPO code ansehen.
Diesen dann kopieren und anstelle von den DLLFUNCTION nutzen.
:wav: Klasse! Vielen Dank! Endlich wech die nervigen Meldungen. :wav:

Muss gestehen, habe noch nie mit dem /P Schalter kompiliert :roll:
Gruß,
Magic
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von Tom »

Muss gestehen, habe noch nie mit dem /P Schalter kompiliert
Sehr empfehlenswert, um beispielsweise zu sehen, in welche Funktionen Kommandos umgesetzt werden, was immer geschieht, angefangen beim "USE" und längst nicht endend bei "DLLFUNCTION". So verweisen die XPF-Kommandos "RESTORE FROM" und "SAVE TO" auf Funktionen "_SymLoad()" und "_SymSave", die man, wenn man noch mit diesen Funktionalitäten arbeitet, viel besser in robusten Code einbetten kann als eben die Kommandos (das XPF-Handling ist nämlich nicht netzwerkfähig). Mit der /P-Option findet man das (ist nämlich auch nicht dokumentiert), außerdem sieht man, was fremde INCLUDEs genau bewirken. Sehr hilfreich beispielsweise im Umgang mit Roger Donnays "eXpress++"-Bibliothek, die den Präprozessor intensiv nutzt.
Herzlich,
Tom
Gerd König
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 193
Registriert: Fr, 09. Jun 2006 7:52
Wohnort: Nähe Sömmerda

Re: variable unused / not have been set before first use

Beitrag von Gerd König »

Unter XBase gibt es die nicht dokumentierte Unused()


Diese verwende ich z.B. dann, wenn ich zu Debug-Zwecken einen Rückgabewert auffangen, aber nicht weiterverarbeiten will.

Code: Alles auswählen

MyFunction()
   LOCAL xX
   UnUsed(xX)
   xX:=Testfunction()
   ....
RETURN .T.
Gerd
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21192
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: variable unused / not have been set before first use

Beitrag von Manfred »

Bist Du sicher, dass es die gibt? Ich habe sie eingebunden und aus Versehen nicht "gebaut". Sofort gab es eine Fehlermeldung. Das sollte nicht sein, wenn sie vorhanden ist.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: variable unused / not have been set before first use

Beitrag von Bertram Hansen »

Auszug aus der std.ch

Code: Alles auswählen

#command UNUSED( <x> )       =>  <x> = <x>
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21192
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: variable unused / not have been set before first use

Beitrag von Manfred »

ja,

eine CH mit einbinden. Es klang so, als wenn die Funktion eingebaut wäre.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten