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
Benutzerbild von mschaefer
mschaefer

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

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
 
#2

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.656 Beiträge
 
Delphi 12 Athens
 
#3

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
SneakyBagels
(Gast)

n/a Beiträge
 
#4

AW: Variablen-Übergabe zwischen zwei Units

  Alt 16. Jun 2017, 18:45
Zitat:
Wenn Du von 100 Parametern nur 1 übergibst, wird das nicht kompilieren.
Ich meinte das anders.
Gegeben ist eine Prozedur A mit 1 Parameter und Prozedur B mit 100 Parametern.
Gibt es Performanceunterschiede zwischen A und B?
  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 17. Jun 2017, 22:45
Minimal, jedenfalls im Vergleich zu einem Datenbankzugriff. Und ich bin immernoch Überzeugt dass sich ein Blick auf die xml-klasse lohnt. Wenn da sich die DB ändert muss man nicht die ganze Struktur der Übergabe ändern.
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
HolgerX
Online

Registriert seit: 10. Apr 2006
Ort: Leverkusen
981 Beiträge
 
Delphi 6 Professional
 
#6

AW: Variablen-Übergabe zwischen zwei Units

  Alt 18. Jun 2017, 07:38
Hmm...

Minimal, jedenfalls im Vergleich zu einem Datenbankzugriff. Und ich bin immer noch Überzeugt dass sich ein Blick auf die xml-klasse lohnt. Wenn da sich die DB ändert muss man nicht die ganze Struktur der Übergabe ändern.
Wenn der Aufrufer davon Ausgeht, Äpfel zu erhalten, jedoch die Funktion (aufgrund der Datenbankänderung) nur Äpfel in die Struktur geben kann, wie kann das dann funktionieren?

Wenn der Aufrufer nicht sicher sein kann, was in welcher Struktur seitens der Funktion zurück geliefert wird, dann ist die Funktion meiner Meinung unbrauchbar..

Aus meiner Sicht ist der Aufruf der Funktion in UnitB aus UnitA einem API-Aufruf unter MS gleich. Hier MUSS sicher sein, dass beide Seiten bei den übergebenen Daten (in beide Richtungen) vom gleichen Sprechen, sowohl Inhalt, wie auch Form.

Somit ist es ein Gangbarer Weg Records oder Objekte zu Verwenden, jedoch nur, wenn beide Units auch mit der gleichen Definition arbeiten (Stichwort DLL-Funktionen).

Interfaces sind da eine Option, jedoch hängt das wohl eher von der Flexibilität/Komplexität der Funktion ab. Bei einfachen Aufrufen würde ich eher zu Records greifen.

Dynamische XML-Strukturen sind schön, aber auch hier müssen die Tags fix definiert werden, sonst kann weder Aufrufer noch FUnktion damit etwas anfangen.
Wenn diese Tags fix sind, dann können natürlich einzelne weggelassen werden, jedoch müsste auch dann definiert werden, was ein Weglassen bedeutet. Wenn es sich z.B. um einen String-Wert handelt, kann das aus Sicht der DB entweder um einen Leerstring ('') oder um einen NULL Wert handeln. Somit muss auch dies für den jeweiligen Wert definiert werden

Uff.. So viele Definitionen und alles nur um eine Funktion aufzurufen
  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 11:28 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