AGB  ·  Datenschutz  ·  Impressum  







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

Datenmodul dynamisch erstellen

Ein Thema von Delbor · begonnen am 13. Mai 2017 · letzter Beitrag vom 14. Mai 2017
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Datenmodul dynamisch erstellen

  Alt 13. Mai 2017, 19:56
Delphi-Version: XE8
Hi zusammen
Zurzeit arbeite ich an einem kleinen Testprogramm, bestehend aus der Mainform und einem Datenmodul. Dieses wurde bis jetzt automatisch erstellt. Nun brauche ich aber einen integerwert aus diesem Modul und erstelle dieses nun bei Mainform.Create:
Delphi-Quellcode:
procedure TSQLiteTestMain.FormCreate(Sender: TObject);
begin
  FDatamodule := DMLSQLite.Create(Self);
  PathFinderFrame1.OnPathListEvent := DMLSQLite.DoPathListEvent;
  SPEDI_Seitelaenge.Value := DMLSQLite.Seitenlaenge;
end;
Unter Projekt=>Optionen=>Formulare ist das Modul unter "Verfügbar" aufgeführt. Übrigens die selben bedingungen, die auch in meinem Datenbank-Programm vorhanden sind. Trotzdem krieg ich bei DMLSQLite.Create eine Av.
Wnn ich das Modul unter den Projektoptionen wieder in die Liste der automatisch erzeugten Formulare aufnehme, ist alles wieder OK.
Was mache ich falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Datenmodul dynamisch erstellen

  Alt 13. Mai 2017, 21:07
Schwer zu sagen, da nicht bekannt ist, was z. B. beim Create von DMLSQLite alles passiert.

Gibt es da irgendwelche Abhängigkeiten, die nur erfüllt sind, wenn DMLSQLite automatisch erstellte wird?

Benötigst Du SPEDI_Seitelaenge.Value := DMLSQLite.Seitenlaenge schon im Create? Oder könnte auch ein (etwas) späterer Zeitpunkt ausreichen?

Sowas in der Art eventuell?
Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TSQLiteTestMain, SQLiteTestMain);
  Application.CreateForm(TDMLSQLite, DMLSQLite);
  SQLiteTestMain.SPEDI_Seitelaenge.Value := DMLSQLite.Seitenlaenge
  Application.Run;
end.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Datenmodul dynamisch erstellen

  Alt 13. Mai 2017, 21:35
Hi Nahpeds

Ich hab jetzt mal versucht, diese Anweisungen alle nach Mainform.OnActivate zu verlegen. Das hat nichts gebracht.
Ich hatte das Problem übrigens schonmal. Abhilfe hat mir nur gebracht, das Modul völlig neu zu erstellen.

SPEDI_Seitelaenge.Value zeigt auf der Mainform die Grösste Seitenlaenge eines Bildes, das skaliert werden soll, an. Für das Testprogrämmchen wäre dies zwar nicht notwendig

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (13. Mai 2017 um 23:29 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Datenmodul dynamisch erstellen

  Alt 13. Mai 2017, 22:04
Zitat von Delbor;1371294

[DELPHI
:
procedure TSQLiteTestMain.FormCreate(Sender: TObject);
begin
FDatamodule := DMLSQLite.Create(Self);
PathFinderFrame1.OnPathListEvent := DMLSQLite.DoPathListEvent;
SPEDI_Seitelaenge.Value := DMLSQLite.Seitenlaenge;
end;[/DELPHI]
heißt die Klasse(!) des Datamoduls wirklich DMLSQLite oder evtl. TDMLSQLite? Ist DMLSQLite evtl. der Name einer globalen Variable vom Typ des Datenmoduls das automatisch von Delphi angelegt wird?

Grüße
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Datenmodul dynamisch erstellen

  Alt 13. Mai 2017, 22:08
@Lemmy

Oh Mann, das hätte ich aber eigentlich auch sehen müssen.

Klappt das so?
Delphi-Quellcode:
procedure TSQLiteTestMain.FormCreate(Sender: TObject);
begin
  FDatamodule := TDMLSQLite.Create(Self);
  PathFinderFrame1.OnPathListEvent := FDatamodule.DoPathListEvent;
  SPEDI_Seitelaenge.Value := FDatamodule.Seitenlaenge;
end;
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Datenmodul dynamisch erstellen

  Alt 13. Mai 2017, 23:40
Hi zusammen

Sorry, wenn ich jetzt ziemlich verspätet antworte - ich bin/war zur Zeit in 2 Foren unterwegs. Und im andern Forum ist die in der Schweiz bevorstehende Abstimmung zur zukünftigen Energiestategie ein heisses Thema...

Mir bleibt nichts anderes übrig, als nahpeds zu zitieren:
Zitat:
@Lemmy

Oh Mann, das hätte ich aber eigentlich auch sehen müssen.
Und ich erst recht, da ich diese Prozedur mit einer in einem andern Projekt verglichen habe - und da ist bestimmt nichts falsch!

Versucht hab ichs bislang noch nicht, aber ich wäre erstaunt, wenn das nicht tun würde.

Gruss
Delbor

PS: Ja, Lemmy, das klappt bestens. Es haben sich auch schon andere kleine Flüchtigkeitsfehler gezeigt.
Aber nun habe ich wirklich die nötige Bettschwere, schliesslich war gerade 2 Uhr...
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (14. Mai 2017 um 06:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datenmodul dynamisch erstellen

  Alt 14. Mai 2017, 13:52
PS: Wenn Formulare/Module nicht automatisch erstellt werden, dann einfach immer erstmal diese böse globale Variable "DMLSQLite" löschen.
Und schon wäre es sofort aufgefallen, voallem da du eine eigene Variable "FDatamodule" hast.
Wie du wohl die nächste Variable/Feld nennst, wenn noch ein weiteres DataModul dazu kommt?

Zitat:
Trotzdem krieg ich bei DMLSQLite.Create eine Av.
Wieso bist du da eignentlich nicht auf die Idee gekommen mal den Debugger nach der "Zugriffsverletzung bei Adresse $000000xx" zu fragen?
Dir hätte da schließlich auffallen müssen, dass DMLSQLite = nil ist. (globale Variablen werden mit 0 initialisiert)

Wäre es eine lokale Variable gewesen, dann hätte der Compiler zurecht wegen der nicht-initialisierten Variable gemeckert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Mai 2017 um 13:55 Uhr)
  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 16:16 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