AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ein paar ganz einfach Fragen zur Delphi-Unit ...
Thema durchsuchen
Ansicht
Themen-Optionen

Ein paar ganz einfach Fragen zur Delphi-Unit ...

Ein Thema von Wheelie · begonnen am 7. Jan 2004 · letzter Beitrag vom 7. Jan 2004
Antwort Antwort
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#1

Ein paar ganz einfach Fragen zur Delphi-Unit ...

  Alt 7. Jan 2004, 16:56
Hi!

Habe hier mal ein paar wichtige Fragen, deren exakte/detaillierte Antworten ich nicht weiß

Was bedeutet eigentlich die Compileranweisung {$R *.dfm} in der Unit genau??
Was ist der Unterschied zwischen private und public unter type?
Wo ist es am besten globale Variablen zu deklarieren (es geht ja auch unter implementation)?

Vielen vielen Danke
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ein paar ganz einfach Fragen zur Delphi-Unit ...

  Alt 7. Jan 2004, 17:01
{$R *.dfm}
Bindet die dfm (Formular Dateien) als Ressource ein.

private und public ist in der Hilfe wunderschön erklärt.

Zitat von Hilfe:
A private member is invisible outside of the unit or program where its class is declared. In other words, a private method cannot be called from another module, and a private field or property cannot be read or written to from another module. [..]

A public member is visible wherever its class can be referenced.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#3

Re: Ein paar ganz einfach Fragen zur Delphi-Unit ...

  Alt 7. Jan 2004, 17:08
Zitat von Wheelie:
Was bedeutet eigentlich die Compileranweisung {$R *.dfm} in der Unit genau??
$R ermöglicht das einbinden einer Resourcen-Datei (.res, .dcr oder .dfm). In dem Fall handelt es sich um die .dfm (Delphi Form), diese enthält das Design des Formulars (Position, Farbe usw. der einzelnen Komponenten).
Der * steht für den Namen der Unit ohne Erweiterung, das heisst bei Unit1.pas bindet er die Unit1.dfm ein.

Zitat von Wheelie:
Was ist der Unterschied zwischen private und public unter type?
Da guckst du am besten in der Delphi OH unter "public" nach.

Zitat von Wheelie:
Wo ist es am besten globale Variablen zu deklarieren (es geht ja auch unter implementation)?
In der Unit des Hauptformulars spielt das eigentlich keine Rolle. Bei anderen Units kommt es darauf an, ob die Variablen nur innerhalb der Unit selbst oder auch von anderen Units aus verwenden willst. Im ersten Fall definierst du sie unter implementation, im zweiten Fall unter interface.


Edit:
Mist, schon wieder einer schneller
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#4

Re: Ein paar ganz einfach Fragen zur Delphi-Unit ...

  Alt 7. Jan 2004, 17:52
Hab's verstanden! Noch eine Fragen: Habe mal von jemanden gehört, dass Variablen nur wenn dringend nötig global deklariert werden sollten, warum das?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Ein paar ganz einfach Fragen zur Delphi-Unit ...

  Alt 7. Jan 2004, 17:58
Das dient allein der Übersicht, denn wenn du viele Variablen global hast, dann weiß man nachher (vielleicht) nicht mehr so genau, wofpr diese stehen, was bei großen Projekten der Fall sein kann.

Brauchst du eine Variable nur innerhalb einer Prozedur/Function, dann deklariere sie auf jeden fall lokal. Man sieht dann sofort, welche variable zu welcher Prozedur/Funktion gehört.
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Ein paar ganz einfach Fragen zur Delphi-Unit ...

  Alt 7. Jan 2004, 18:04
Diese Forderung wird häufig gestellt, um eine Änderung von Werten, "die einen nichts angehen" zu vermeiden und entspricht dem in der OOP propagierten Bei Google suchenGeheimnisprinzip, obwohl der Gedanke, "nach außen" nur Schnittstellen zu veröffentlichen, nicht neu ist.

Aus einem der ersten Google-Treffer zitiere ich
Zitat:
[..] Das Geheimnisprinzip bietet den Vorteil, dass bei einer Änderung der internen Struktur nur die eine Klasse/das Modul modifiziert werden muss, die Schnittstelle bleibt bestehen, weshalb andere Klassen und Module nicht angepasst werden müssen. Dies führt zu einer besseren Wartbarkeit und Wiederverwendbarkeit des Codes.
Das Geheimnisprinzip ist ein wichtiges Konzept in der Objektorientierung.
(Anm: mit "Modul" ist im Delphi-Kontext "Unit" gemeint.)

Alle weiteren Dinge wie Bei Google suchenVorbedingung, Bei Google suchenNachbedingung, Bei Google suchenWartberkeit (durch Übersichtlichkeit) etc., die durch unsachgemäßen Einsatz von globalen Variablen schwer sicherzustellen sind, ergeben sich aus dem Geheimnisprinzip (und dem oft in diesem Zusammenhang verwendeten prinzip der Zuständigkeit oder Bei Google suchenkohärenz (oop)), weshalb ich an dieser Stelle nicht weiter darauf eingehen möchte.
gruß, choose
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:02 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