AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Komponenten ansicht in DLL verschluckt
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten ansicht in DLL verschluckt

Ein Thema von EWeiss · begonnen am 3. Apr 2012 · letzter Beitrag vom 3. Apr 2012
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 14:24
Bei der übergabe der Form an DLL werden im Tip beim drüberfahren mit der Maus auf Form1 noch alle Komponente richtig angezeigt.

C.SetComboParentObj(Form1);

Fahre ich jedoch innerhalb der DLL mit der Maus auf ParentObj fehlen alle Komponente bzw. sind nicht sichbar.

Delphi-Quellcode:
procedure THookedCombo.SetComboParentObj(ParentObj: TWinControl);
begin

  FParentObj := ParentObj;
end;
Prüfe ich jedoch in der DLL auf die Komponente werden sie gefunden.

Delphi-Quellcode:
    GetClassName(CtrlObj.Handle, @Buffer, MAX_PATH);
    sCtrl := Buffer;
    if sCtrl = 'TComboBoxthen
Liegt hier ein Problem mit den Tip's vor ?

Aber auch in den Überwachten Lokalen Variablen werden die Komponente nicht angezeigt.

wo liegt das problem?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 14:26
Bei der übergabe der Form an DLL werden ...
Grundfrage: Verwendest du Runtimepackages?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 14:34
Bei der übergabe der Form an DLL werden ...
Grundfrage: Verwendest du Runtimepackages?
EDIT:
oops sorry du meinst unter Komponente Laufzeit Packages verwenden.
Nein.

gruss

Geändert von EWeiss ( 3. Apr 2012 um 14:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 14:53
Debuggst du die DLL oder die EXE?

Das ist aber ein "normales" Verhalten von Delphi (leider).
Ich kämpfe mich hier beim Debuggen gleichzeitig quer durch mehrere Laufzeitpackages und DLLs und da kann Delphi oftmals auch nichts auflösen,
weil es scheinbar nicht die passenden Debugginfos dem aktuellen Modul zuordnen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 15:00
Debuggst du die DLL oder die EXE?

Das ist aber ein "normales" Verhalten von Delphi (leider).
Ich kämpfe mich hier beim Debuggen quer durch mehrere Laufzeitpackages und DLLs und da kann Delphi oftmals auch nichts auflösen.
Als auch..

Du hattest mir ja mal eine berichtigung geschrieben im Thread CTRL_HOOK um die Komponenten zu übergeben.
Habe das mal eingebaut weil ich die DLL um OptionButton erweitern wollte. (Vorausgesetzt bekomme das problem mit den Speicherlecks im griff).

Mein Problem ist das beim beenden ein Invalid Pointer ausgegeben wird wo ich nicht feststellen kann
woher dieser kommt da beim Debuggen in den Lokalen Variablen schon die Komponente nicht sichtbar sind
war meine Vermutung dahingehend das mein problem von dem ausgeht.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#6

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 15:07
Ohne verwendung von Laufzeit-Packages sowohl in der Dll als auch in der Exe hat die Dll eine andere Version des Object-Baumes ( Die VMT's stehen dann sowohl in der Dll als auch im Hauptprogramm ). Übergreifend Objekte austauschen ist da nicht ( Zumindest bis Delphi 5 )
Glückauf
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 15:10
Ohne verwendung von Laufzeit-Packages sowohl in der Dll als auch in der Exe hat die Dll eine andere Version des Object-Baumes ( Die VMT's stehen dann sowohl in der Dll als auch im Hauptprogramm ). Übergreifend Objekte austauschen ist da nicht ( Zumindest bis Delphi 5 )
Macht keinen Unterschied ob mit oder ohne.
Hab es dahingehend schon versucht.
Die Hierarchie der Form1 ist Korrekt innerhalb Main (Traurig wenn es nicht so wäre)
Aber nach der Übergabe in der DLL nicht mehr.

Aber wie gesagt obwohl nicht in den Lokalen Variablen angezeigt werden die Komponenten gefunden.

EDIT:
Menu: Komponente/Packags Installieren/ option Laufzeit Packages verwenden aktivieren...
Wird ja dann automatisch für die EXE und der DLL verwendet bzw.. für alles neuen Projekt wenn diese option aktiviert wird.

Aber wie gesagt ändert nichts am aktuellen Zustand.

gruss

Geändert von EWeiss ( 3. Apr 2012 um 15:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 15:44
EDIT:
Menu: Komponente/Packags Installieren/ option Laufzeit Packages verwenden aktivieren...
Kompletter Rebuild nötig. Sonst ist das nicht.

Wird ja dann automatisch für die EXE und der DLL verwendet bzw.. für alles neuen Projekt wenn diese option aktiviert wird.
Du musst da für alle Exes und DLLs gesondert aktivieren.


Aber wie gesagt ändert nichts am aktuellen Zustand.
Ohne Runtimepackages wäre es ein Wunder wenn da irgendwas funktionierten würde (dürfte normalerweise was mit TFont kann nicht TFont zugewiesen werden des öfteren auftauchen. Siehe Beitrag guinnes
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 16:03
Zitat:
Du musst da für alle Exes und DLLs gesondert aktivieren.
Jup unter Projekt Option/Packages.

Habe es gemacht aber abgesehen davon das nun jedemenge Speicherlecks in den Laufzeit_Units entdeckt wurden
hat sich da nichts getan.

Zitat:
500071FA [System.pas][System][System.@GetMem][2979]
50009D0F [System.pas][System][System.TObject.NewInstance][9433]
5000A3B2 [System.pas][System][System.@ClassCreate][10277]
50298F87 [Controls.pas][Controls][Controls.TWinControl.GetControl][8943]
502BE38F [Forms.pas][Forms][Forms.TCustomForm.DoCreate][3319]
502BDFCB [Forms.pas][Forms][Forms.TCustomForm.AfterConstruction][3203]
5000A420 [System.pas][System][System.@AfterConstruction][10325]
Zitat:
50007216 [System.pas][System][System.@FreeMem][3030]
50009D2D [System.pas][System][System.TObject.FreeInstance][9439]
5000A3FD [System.pas][System][System.@ClassDestroy][10318]
50063CE9 [Classes.pas][Classes][Classes.TList.Destroy][3337]
50009D73 [System.pas][System][System.TObject.Free][9458]
500626E3 [Classes.pas][Classes][Classes.TClassFinder.Destroy][2650]
50009D73 [System.pas][System][System.TObject.Free][9458]
5006C373 [Classes.pas][Classes][Classes.TReader.ReadRootComponent][7780]
50068697 [Classes.pas][Classes][Classes.TStream.ReadComponent][5946]
5006336C [Classes.pas][Classes][Classes.InternalReadComponentRes][3040]
500634DC [Classes.pas][Classes][Classes.InitComponent][3097]


gruss

Geändert von EWeiss ( 3. Apr 2012 um 16:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#10

AW: Komponenten ansicht in DLL verschluckt

  Alt 3. Apr 2012, 17:43
Du hast auch die Runtime-Packages genau da, wo sie gesucht werden ?
Du hast auch die Runtime-Packages aktiviert, die benötigt werden ? Nicht nur einfach "Mit Runtime-Packages " sondern auch die Packages, die deine eigenen Klassen enthalten, die du in Dll und Exe brauchst ?
Und hast Dll und Exe mittels Projekt erzeugen neu erzeugt ?
Glückauf
  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 11:32 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