![]() |
Re: global Variablen, Mehrfachdeklaration
Zitat:
Zitat:
Zitat:
Zitat:
Fazit: Man kann durch Analyse des Map-Files sämtliche Doppeldeklarationen aufdecken; ab da geht es allerdings per pedes weiter. |
Re: global Variablen, Mehrfachdeklaration
[quote="s-off"]
Zitat:
Grüße // Martin |
Re: global Variablen, Mehrfachdeklaration
Zitat:
Zwar bedarf es hier keiner besonderen Logik, nur stehen wir hier vor dem Problem, den Delphi Code parsen zu müssen, was sicherlich nicht ganz anspruchslos ist, und man so auch wieder nicht um ein separates Tool herum kommt. Zitat:
|
Re: global Variablen, Mehrfachdeklaration
Hi alle,
mein Vorgänger ist oder war (ich weiss nicht ob er noch, als Programmierer, existiert) ein professioneller Programmierer. Die Source wurde in einer externen Softwareschmiede 1998 erstellt. Bei Ihm und seiner Beurteilung bin ich jedenfalls sehr vorsichtig da er sehr tricky programmiert hat und meist irgendein (hinterlistiger) Sinn darin steckt. Hallo Amateurprofi: nochmal, dass das ganz klar ist: bei den Mehrfachdeklaration wird nicht die erste oder die letzte genommen, sondern die sind gleichberechtigt nebeneinander vorhanden. Sogar die Unit-Reihenfolge in der uses Klausel der zugreifenden Unit ( ihr wisst was ich meine ) spielt keine Rolle. Welche der Compiler wo wann nimmt ist scheinbar purer Zufall. Eine zweite Sache ist noch der Debugger, der macht nochmal was er will. Ich jedenfalls werde mich des Mapfiles bedienen! Grüsse Rainer |
Re: global Variablen, Mehrfachdeklaration
Zitat:
Wenn du in Delphi ein neues Projekt beginnst werden ja standardmäßig in der uses-Klausel einige Units eingebunden unter anderem "windows" VOR "graphics" und eben in diesen beiden Units wird ein Typ namens TBitmap deklariert. Im weiteren Programmierverlauf wird aber immer die, in den meisten Fällen, richtige TBitmap aus graphics verwendet. |
Re: global Variablen, Mehrfachdeklaration
Moin, moin
Soweit ich das mit meinen Projekten beobachtet habe werden zunächst die Units aus dem aktuellen Projekt genommen, dann die Units aus den Biblitheken . Viele Grüße // Martin PS: Wenn ich "tricky" programmieren will nehme ich C, Perl oder SAS-Macros. Einigermassen übersichtlich, Kommentare und eine aufgeräumte Unit- und Objektstruktur sind mir inzwischen viel näher. PPS: Natürlich kann man auch in Delphi Tricky programmieren. Gerade mit Pointern kann man da schöne Optimierungen machen und in der Listenprogrammierung kommt man oft nicht ohne aus. Für die meisten Aufgaben schätze ich das aber weniger. Im Team ist es oft wichtiger, dass alle schnell vertsehen welche Abläufe stattfinden damit Programmieren nicht zm Selbstzweck und zur Beschäftigungstherapie des Kollegen wird. (Da es nicht das Threatthema ist, sind es nur Postscriptum-Anmerkungen) |
Re: global Variablen, Mehrfachdeklaration
Zitat:
|
Re: global Variablen, Mehrfachdeklaration
Zitat:
Glaubst du denn ernsthaft, daß der Compiler quasi per Zufallsgenerator arbeitet ?? Ich glaube das nicht und (daß auch das ganz klar ist), die Verfasser der Delphi-Helpfiles glauben das offensichtlich auch nicht. Zitat:
|
Re: global Variablen, Mehrfachdeklaration
Hi Amateuerprofi,
Zitat:
Zitat:
Vielleicht solltest du, bevor du Kommentare abgibst, meinen Originalbeitrag lesen. Ich habe mehr als 100 Units in denen die Reihenfolge der Uniteinträge beliebig ist. In mehreren sind die gleichen Variablennamen (Unitglobal) definiert. Tatsache ist: Es ist völlig egal wo im Programm ich debugge ( hab mir die Variablen auch schon per label angeschaut, gleiches Ergebnis ), ich bekomme mal die richtigen und mal die falsche Variable angezeigt und das ist völlig wilkürlich. Grüsse Rainer PS: |
Re: global Variablen, Mehrfachdeklaration
Zitat:
Wenn du das so nie behauptet hast, wie soll denn der Satz "Welche der Compiler wo wann nimmt ist scheinbar purer Zufall." sonst zu verstehen sein. Es war auch nicht gefragt, was der Debugger anzeigt, sondern wie der Compiler den Source-Code umsetzt. Und der Compiler benutzt weder die Deklarationen der zuerst genannten Unit noch überläßt er es dem Zufall, welche Deklarationen er verwendet sondern er benutzt immer die Deklarationen der zuletzt genannten Unit. Vielleicht solltest du, bevor du Kommentare abgibst, deinen Originalbeitrag lesen...... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz