AGB  ·  Datenschutz  ·  Impressum  







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

Fmx

Ein Thema von tkhandel · begonnen am 16. Jul 2025 · letzter Beitrag vom 20. Jul 2025
Antwort Antwort
tkhandel

Registriert seit: 2. Jan 2022
Ort: Arnsberg im Sauerland
107 Beiträge
 
Delphi 10.4 Sydney
 
#1

Fmx

  Alt 16. Jul 2025, 19:53
Hallo,
ich habe eine procedure in einem FMX Projekt (Windows) das eine
procedure hat in der wiederum zwei proceduren aufgerugfen werden.

procedure Datenabgleich
begin
...
...
Datensenden (procedure)
Daten holen (procedure)
aufräumen Files löschen)
...
...

end;

kann es sein das unter fmx nicht gewartet wird, sondern die 2. procedure ausgeführt wird obwohl die erste noch nicht durch ist.

Ich hatte vorher den Code nicht aufgeteilt und der reihe nach in der procedure Datenabgleich abgearbeitet, seit der Aufteilung
passiert es hin und wieder das die Daten nicht in der Cloud ankommen aber auch keine Fehlermeldung auftaucht. Ich vermute das
er bei einer langsamen Verbindung aufräumt bevor er mit senden fertig ist.

Was kann ich da tun ? würde er bei dem Aufruf einer function warten (Rückgabewert prüfen)
Jürgen
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
286 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Fmx

  Alt 17. Jul 2025, 06:07
Bist Du sicher, dass die Prozeduren nicht vorzeitig verlassen werden?
An sich ändert sich ja das Pascal nicht, sondern 'nur' die Komponenten.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
697 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Fmx

  Alt 17. Jul 2025, 07:27
Die Frage ist doch, was Du in Datensenden (1. Prozedur) machst, Delphi ist ja Event-driven. Du stösst was an und über ein Event kriegst Du von Komponenten Bescheid, wann es fertig ist. Nur Wenige Komponenten sind da blockierend, Indy macht das wohl.
Ist Dein Datensenden eine Routine, die da eine Komponente asynchron etwas ausführen lässt, dann wäre es normal, dass prozedur 2 schon ausgeführt wird, während die 1. noch läuft.
  Mit Zitat antworten Zitat
vnvjan

Registriert seit: 20. Jun 2007
36 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fmx

  Alt Gestern, 07:35
Funktionen daraus machen und Rückgabewert auswerten.
  Mit Zitat antworten Zitat
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
87 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Fmx

  Alt Gestern, 13:43

kann es sein das unter fmx nicht gewartet wird, sondern die 2. procedure ausgeführt wird obwohl die erste noch nicht durch ist.
Egal ob FMX oder VCL, Delphi arbeitet alles in der Reihenfolge wie programmiert ab. Warten tut eine Procedur nur, wenn du ihr sagst, das sie auf was warten soll.
Da passt dann vielleicht eine Funktion besser, die bei Ausführungende true zurück gibt und die aufrufende Procedur dann weiter machen darf (und nur dann).

In einer solchen Funktion kann natürlich noch viel passieren, was dein Programmablauf beeinflusst.....
Grüße
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.251 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fmx

  Alt Heute, 18:19
Wie genau schreibst du denn in die Cloud? Wenn das asynchron stattfindet, kann es gut sein, dass das Schreiben noch nicht abgeschlosen ist, wenn die erste Prozedur beendet wird.
Certified Delphi Developer (2025)
  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 21: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