AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

global Variablen, Mehrfachdeklaration

Ein Thema von WS1976 · begonnen am 11. Sep 2007 · letzter Beitrag vom 17. Sep 2007
Antwort Antwort
Seite 2 von 4     12 34      
Nuclear-Ping
(Gast)

n/a Beiträge
 
#11

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 06:19
Uff, da hast du ja wirklich einen dicken Brocken bekommen.

Keine Ahnung, ob es so ein Tool schon gibt. Wenn nicht, wäre das aber sicher etwas nützliches für einige Programmierer.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#12

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 11:13
Zitat von WS1976:
Hallo nuclear,

...
Hat jemand eine Ahnung ob es vielleicht irgendein Tool gibt mit dem mir geholfen wird?
Wenn nicht schreib ich mir selbst eins.

Fazit:
Wenn schon globale Variablen, dann übersichtlich in eine Unit!

Grüsse
Rainer
Hallo,

wenn z.B. global1 in 2 Units deklariert ist, dann taucht im Map-File im Abschnitt "Adress - Publics by Name" global1 auch 2 mal auf an verschiedenen Adressen. Liest man das in Excel ein und sortiert nach Name (hab ich noch nicht praktiziert), so kann man doppelte Publics sehen. Damit weiss man noch nicht, wo, aber dass (es doppelt vorhanden ist). Das könnte man an den benachbarten Variablen in der ursprünglichen Reihenfolge abschätzen oder mit der "Suche in allen Projektdateien".

Ein eigenes Tool müsste schon recht umfangreiche Parserfunktionen erfüllen, da es var, const und procedure Deklarationen im Programmtext erkennen müsste. Normalerweise steht da ja nicht "var global1".

Am Mapfile sieht man übrigens, wie blöde das Delphikonzept in diesem Punkt ist - doppelte Publics darf es eigentlich überhaupt nicht geben, schon garnicht unkommentiert und ohne weitere Spezifikation.

Gruss Reinhard
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#13

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 11:38
Puuuh,

irgendwie ist das schon ein Hammer. Im Map File hab ich, wie Reinhard beschrieben hat, wenigstens einen Hinweis darauf, dass es die Variable doppelt gibt. Wenn ich jetzt über das Projekt suche komm ich weiter.
Ich werde ein Tool basteln das mir die doppelt vorkommenden Einträg rausfieselt. Dann muss ich wohl oder übel per Hand suchen.
Irgendwie schreit die ganze Sache noch einer Lösung.

Danke an Alle, besonders an Reinhard.
Rainer
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.057 Beiträge
 
Delphi XE2 Professional
 
#14

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 11:43
Zitat von guidok:
Hallo,

ich hatte mal das Problem, das TBitmap auch zweimal deklariert ist. Der Compiler nimmt sich die Deklaration, die in deiner Uses-Anweisung als erstes auftaucht (bei dir Unit1), glaube ich zumindest. Du kannst allerdings auch genau auf die Deklaration zugreifen, die du möchtest mit

Delphi-Quellcode:
unit1.versa_SB_str
unit2.versa_SB_str
Ob du solche Mehrfachdeklarationen auch anders erkennen kannst weiß ich leider nicht.

Gruß,

Guido
Nein! Der Compiler nimmt die Deklaration, die in der Uses-Liste als letzte auftaucht....
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#15

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 11:45
Zitat von WS1976:
Dann muss ich wohl oder übel per Hand suchen.
Lass das doch Deine Azubis machen. Schliesslich muss man die Kosten für so eine Aktion im Auge behalten.

Zitat von WS1976:
Irgendwie schreit die ganze Sache noch einer Lösung.
Ganz genau! Und daher freuen wir uns alle auf ein nettes kleines Tool von Dir - mit Quelltext versteht sich.
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#16

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 12:32
Hi s-off,

müssen diese zynischen Bemerkungen sein?
Lass es doch einfach.

Rainer
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#17

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 12:40
Hallo WS1976.

Traurig, dass Du alle meine Antworten als zynisch betrachtest.

Wenn man zugrunde legt, dass Du, in Deiner Tätigkeit als Ausbilder, der Firma, für die Du tätig bist, durch Bezug Deines Gehaltes, höhere Kosten verursachst (auf der anderen Seite aber auch mehr Umsatz einfahren kannst), als Deine 'Schützlinge', dann ist es eher ein wohlwollender Rat von mir.

Und da ich davon ausgehe, dass Du mit Deinem Problem der x-Fach deklarierten Variablen nicht alleine auf weiter Flur stehst, ist auch meine zweite Aussage alles andere als zynisch.

Wenn Du Deine Anschuldigungen auf der kleinen Diskussion von gestern begründest -> ich bin nicht nachtragend; Du etwa?
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#18

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 13:31
Hallo s-off,

Mir ist das sehr ernst mit meinem Problem. Wenn ich die Azubis dransetze kann ichs genausogut selbst machen, muss nämlich alles nochmal kontrollieren.

Hast du irgendeinen Ansatz zur Lösung meines Problems (Azubis ist keiner hihi)?
Ich bin schon dabei ein Tool auf Basis des Mapfiles aufzubauen. Dort kann ich wenigstens erkennen ob die Variablen doppelt sind.

Bemerkung: Meine Tools sind immer mit Quellcode. Wenn's jemand interessiert stell ich das Ganze ins DP.
Ich bin absolut nicht nachtragend. Hab Gestern mindestens 20 Mails gekriegt hab sie alle gelöscht ohne sie zu lesen. ( Hätte mich nur aufgeregt. Hab ich mir erspart )

Also Friede?

Grüsse
Rainer
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#19

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 13:57
Huhu,
Zitat von WS1976:
Mir ist das sehr ernst mit meinem Problem. Wenn ich die Azubis dransetze kann ichs genausogut selbst machen, muss nämlich alles nochmal kontrollieren.
Ok, dann liege ich mit meinem Kosten-Nutzen-Vergleich tatsächlich schief

Zitat von WS1976:
Hast du irgendeinen Ansatz zur Lösung meines Problems (Azubis ist keiner hihi)?
Leider nein - ich hätte sie auch nicht vorenthalten, wenn ich sie hätte

Zitat von WS1976:
Ich bin schon dabei ein Tool auf Basis des Mapfiles aufzubauen. Dort kann ich wenigstens erkennen ob die Variablen doppelt sind.
Der Ansatz, über das Map-File zu gehen, erscheint mir allerdings gar nicht übel. Musst Dir nur überlegen, wie Du weitermachst, sobald Du weisst, welche Variablen mehrfach deklariert sind.

Zur Suche innerhalb Deiner Sourcen empfehle ich entweder GrepSearch, welches in den GExperts enthalten ist, oder aber ein professionelles Such-Tool wie bspw. FileLocator Pro.

Mir würde allerdings ad hoc wirklich keine Möglichkeit einfallen, Dein Problem im zweiten Schritt automatisch und vor allem sauber zu lösen. Es dürfte problematisch sein, herzuleiten, auf welche Variable aus welcher Unit bei einem speziellen Aufruf gezeigt wird.

Zitat von WS1976:
Also Friede?
Friede kann nur dort geschlossen werden, wo Krieg herrscht - und Krieg sieht in meinen Augen anders aus - aber um es offiziell zu machen => Friede

  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#20

Re: global Variablen, Mehrfachdeklaration

  Alt 12. Sep 2007, 14:42
Moin, moin,

Sagt mal bei aller liebgewonnenen Zynik, warum lässt man nicht den Compiler suchen? Nimm doch einfach alle globale Variable und nenne diese um im Stil von "Unitnamen_Variablennamen" und versuche zu compilieren. Dann springt der Compiler zu jeder stelle wo er nicht weiterkommt und Du kannst entscheiden welche dahin kommt. Jedenfalls in Map-Files suchen scheint mir doch eher Zeitvertreib zu sein.

Prinzipbedingt braucht man da auch kein Tool schreiben!
Ein Tool wird kaum entscheiden können welche der doppelten Globalvariablen im Kontext nun genau hingehört.


Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz