AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi An alle TAction Kracks - TDataSetAction reagieren nicht!!!!!
Thema durchsuchen
Ansicht
Themen-Optionen

An alle TAction Kracks - TDataSetAction reagieren nicht!!!!!

Ein Thema von Konchulio · begonnen am 26. Jun 2006 · letzter Beitrag vom 29. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Konchulio

Registriert seit: 16. Apr 2003
9 Beiträge
 
Delphi 2005 Professional
 
#1

An alle TAction Kracks - TDataSetAction reagieren nicht!!!!!

  Alt 26. Jun 2006, 14:50
Hi Leute

Ich hab da mal ein kniffliges Problem!?!

Ich habe eigene Actions vom Type TDataSetActions abgeleitet und diese als Standart-Actions registriert. Danach habe ich diese in einen ActionManager hinzugefügt, soweit funktioniert es auch.

Mein Programm ist folgendermaßen aufgebaut:
Ich habe einzelne Projekte(Formulare/exe) in einer DLL zusammengefasst und lade diese dynamisch aus meiner Hauptmaske(ist eine normale EXE).

Nun zu meinem Problem:
In den einzelnen Projekten funktionieren die abgeleiteten Action ohne Probleme. (falls sich jemand frägt wieso ich diese Formulare nicht in die Hauptmaske bzw EXE) reinpacke --> da ich sehr viele Formulare habe (ca. 180) ist es einfacher und schneller nur die einzelen Formulare zu Kompilieren und zu testen). Wenn ich aber das ganze Projekt kompiliere (alle Formulare + Hauptmaske) funktionieren manche Aktionen nicht. Sie sind zwar verfügbar aber wenn man sie ausführen will passiert nichts.
Das ereigniss onExecut ist nicht ausprogrammiert weil ich ja meine selbt erzeugten Actions nicht überschreiben will!!

Ich habe es auch schon mit den Datenbankt-StandartActions von Borland bzw. Delphi probiert es tritt das gleiche Phänomen auf!!

Meine Vermutung ist desshalb das die TDataSet-Actions einige Bugs haben.

Hatt Jemand schon ein ähnliches Phänomen gehabt oder weiß ne Lösung???

Also schon mal im Vorraus vielen Dankt.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 26. Jun 2006, 15:43
Du musst auf jeden Fall das Property DataSource der TDataSetAction setzen, sonst geht nix.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 26. Jun 2006, 16:35
Zitat von Delphi Hilfe:
Wenn Sie DataSource nicht explizit zuweisen, wird der Wert beim Auslösen der Aktion von einem aktiven datensensitiven Steuerelement abgerufen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Konchulio

Registriert seit: 16. Apr 2003
9 Beiträge
 
Delphi 2005 Professional
 
#4

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 26. Jun 2006, 16:58
Hi

Ich hab es natürlich auch schon mit der manuelen Zuweisung der Datasource ausprobiert. funktioniert genau so wenig.

Nur noch mal zum Verständnis:
Normalerweise holt sich die TDataSetAction(und alle abgeleiteten Klassen) im OnUpdate ereigniss anhand des Datensensitivem-Control(sprich dbGrid, dbEdit usw.) die entsprechende Datasource bzw. DataSet. Dies ist eine sehr mächtige Methode wenn man mehrere DB-Tabellen in div. Datensensitivem-Controls(dbGrid, dbEdit usw.) anzeigt, editieren, navigiert. So muss man sich nicht mehr darum kümmern in welchem Grid der Cursor steht und anhand diesem dann die entsprechende TQuery schalten.

--> Diese Methode Funktioniert in den einzelen Exe-Moulen(Formulare). Aber sobald ich das ganze Projekt kompieliere (info:"Hauptprogramm.exe" lädt Formulare aus "Unterprogramme.dll") funktionieren die Actions nur noch teilweise oder gar nicht. Kurios ist das zwei fast identische Formulare sich unterschidlich verhalten, so dass beim ersten Formular die Actions funktionieren und beim zweiten gar nicht. Ich hab sie verglichen und binn nun ratlos.

Ich kann mir die ganze Sache nicht erklären!?!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 26. Jun 2006, 17:01
Hast Du mal die uses von zwei solchen unterschiedlichen DLL-Formularen verglichen? Befinden die sich in der selben DLL?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Konchulio

Registriert seit: 16. Apr 2003
9 Beiträge
 
Delphi 2005 Professional
 
#6

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 27. Jun 2006, 07:55
hi Union

Thx für deine Bemühung.

Ja hab ich, das ist ja das Komische die Formulare befinden sich in der selben DLL und haben trotzdem ein unterschiedliches Verhalten. Beim einen funktionierts beim Anderen eben nicht.?

Ich hab alles Erdenkliche schon ausprobiertr. Von den Delphi-Standart-DatasetActions bis hin, die formulare in die Exe rein zu nehmen. Alles erfolglos.

Bin langsam ratlos an was das liegen könnte?!?!?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 27. Jun 2006, 09:55
Zitat von Konchulio:
Bin langsam ratlos an was das liegen könnte?!?!?
Schon mal probiert einen Breakpoint in dem Sourcecode der VCL (unit DBActns) zu setzen?
Dazu muss die Option "mit Debug DCU's " aktiviert werden.

Du könntest übrigens deine Delphi Version in deinem Profil eintragen; dann wüsste ich gleich
ob du überhaupt den VCL Sourcecode zur Verfügung hast.
Andreas
  Mit Zitat antworten Zitat
Konchulio

Registriert seit: 16. Apr 2003
9 Beiträge
 
Delphi 2005 Professional
 
#8

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 27. Jun 2006, 14:36
ju habe ich schon versucht keinen Fehler gefunden.

Ich nehme an das das Formular das aus der DLL dynamisch erzeugt wird irgendwie keinen WinControl bekommt oder die Actions diesen nicht finden können. Hab es schon mit der TCustomForm Funktion "CMActionexecute" bzw. "CMActionexecute" im Hauptformular und in den Formularen die in der DLL sind, probiert --> kein Änderung der Situation!!!

Mist

Hier die beiden Proceduren:

Info: das Gleiche macht auch die "CMActionexecute" Prozedur.

Delphi-Quellcode:
procedure Tform1.CMActionupdate(var Message: TMessage);
var
  bPerformed : Boolean;
  i : Integer;
  DockForm : TfrmFamilyFormExt;
begin

  bPerformed := False;

    for i := 0 to pred(Application.ComponentCount) do begin
      if Application.Components[i] is TForm then begin
        DockForm := TForm(Application.Components[i]);
        if DockForm.Active then begin
          Message.Result := DockForm.Perform(Message.Msg,0,Message.LParam);
          bPerformed := Message.RESULT = S_OK;
         
          if bPerformed then exit;
        end;
      end;
    end;

  if not bPerformed then inherited;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 28. Jun 2006, 13:52
Hast Du die Möglichkeit, ein Mini-Projekt in einer BPG aufzusetzen das nur einen Main mit zwei Buttons hat, durch das die DLL-Forms ausgerufen werden? Ich habe zwar nur BDS2006 EE, aber vielleicht ist das reproduzierbar.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Konchulio

Registriert seit: 16. Apr 2003
9 Beiträge
 
Delphi 2005 Professional
 
#10

Re: An alle TAction Kracks - TDataSetAction reagieren nicht!

  Alt 28. Jun 2006, 15:22
@Union

Bei der Komponentenentwicklung mach ich das immer so, dass ich ein kleines Testprojekt mache und da ist es genau das Gleiche.

Ich hab auf der Borldseite folgendes gefunden. Es beschreibt zwar das Problem mit einer MDIForm aber das spielt ja nicht so ne rolle.

--> Action-DLL-Problem

Nur das Problem ist das die keine Lösung anbieten.

Vieleicht kann mir jemand von euch helfen. Ich find langsam das Delphi 2005 zu viele Bugs!!!! Die sollten wieder mal ein Update rausbringen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:05 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