AGB  ·  Datenschutz  ·  Impressum  







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

Variablen-Übergabe zwischen zwei Units

Ein Thema von H.Bothur · begonnen am 15. Jun 2017 · letzter Beitrag vom 18. Jun 2017
Antwort Antwort
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Variablen-Übergabe zwischen zwei Units

  Alt 15. Jun 2017, 17:55
Ja genau deshalb der Hinweis auf zeitkritischer Code:

Const in Interface Parametern würde ich aber nur dann verwenden wenn es wirklich zeitkritischer Code ist. Da man dadurch die Referenzzählung aushebelt kannn das teilweise zu unschönen Effekten führen.
Die Referenzzählung wird dadurch nicht ausgehebelt sondern nur eine unnötige zusätzliche Referenzzählung vermieden. Ist also eine Optimierung.

Nur das hier darf man dann nicht: LadeDaten(TKunde.Create);

Dass dann die Referenzzählung nicht funktioniert, ist ein lang und gut bekannter Bug. (https://stackoverflow.com/a/7640979/80901)
Da man nie weis wie der Code benutzt wird... Optimierten nur dann wenn wirklich notwendig
Fritz Westermann
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Variablen-Übergabe zwischen zwei Units

  Alt 15. Jun 2017, 17:57
Zitat:
Dass dann die Referenzzählung nicht funktioniert, ist ein lang und gut bekannter Bug. (https://stackoverflow.com/a/7640979/80901)
Nachtrag: Laut Embarcadero ist das kein Bug, (as designed)
Fritz Westermann
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Variablen-Übergabe zwischen zwei Units

  Alt 15. Jun 2017, 18:15
Zitat:
Dass dann die Referenzzählung nicht funktioniert, ist ein lang und gut bekannter Bug. (https://stackoverflow.com/a/7640979/80901)
Nachtrag: Laut Embarcadero ist das kein Bug, (as designed)


"as designed" ist eine Umschreibung für "wir müssten Teile des DCC neu designen, um diesen Effekt zu vermeiden" (wenn ich Remy Lebaus Kommentar richtig verstehe). Bei strings tritt das Problem nicht auf, DCC erzeugt für diese eine versteckte Variable.
Michael Justin
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#4

AW: Variablen-Übergabe zwischen zwei Units

  Alt 15. Jun 2017, 18:37
Zitat:
Was dahinterhängt ist egal.
Im Gegensatz zu einer Steckdose muss man das in Delphi aber selber implementieren und im besten Falle auch verstehen.

Es gibt Leute die wollen keine Interfaces nutzen, fertig aus Ende der Geschichte.
Außerdem sind wir schon meilenweit von der Ausgangsfrage entfernt.

Der TE fragte, welche der von ihm DREI vorgestellten Möglichkeiten die beste ist. Interfaces standen nicht auf seiner Liste.
Ich verstehe nicht, wie man sich nie an die von den Themenerstellern gewünschten Codes halten kann und immer Gift (Interfaces) einfügen muss, was dann früher oder später wieder zu einem geschlossenen Thread führt.

Daher: bitte bleiben wir doch einfach bei den vom TE genannten Möglichkeiten.

Geändert von SneakyBagels (15. Jun 2017 um 18:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

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

AW: Variablen-Übergabe zwischen zwei Units

  Alt 16. Jun 2017, 12:13
Moin zusammen,

da gibt es wohl keinen eindeutigen Weg. Aber es lohnt sich einen Blick auf Himitsu's himXML zu werfen. Die kann man gut in der Main Unit ablegen, zur Übergabe nutzen oder auch um den Status des Programms zu speichern. Da der Autor ja in der DP ist, gibt es vielleicht auch noch den ein oder anderen Tipp.

Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#6

AW: Variablen-Übergabe zwischen zwei Units

  Alt 16. Jun 2017, 17:16
Hierzu hätte ich eine technische Frage.
Angenommen eine Prozedur hat 100 Parameter (Records, Integers, Strings, Booleans).
Gibt es Performancevorteile, wenn man 1 statt 100 Parameter übergibt?

Ich hole noch weiter aus:
angenommen ich übergebe gar keine Parameter und fülle nur ein Record, welches ich dann später in dieser Prozedur verwende. Hat das irgendwelche Performancevorteile?

Geändert von SneakyBagels (16. Jun 2017 um 17:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#7

AW: Variablen-Übergabe zwischen zwei Units

  Alt 16. Jun 2017, 18:22
Wenn Du von 100 Parametern nur 1 übergibst, wird das nicht kompilieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 04:35 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