Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi komponente "durchsteppen" (https://www.delphipraxis.net/32551-komponente-durchsteppen.html)

LoL 25. Okt 2004 08:58


komponente "durchsteppen"
 
moin DPler

kann man, wenn man eine Komponente erstellt hat, das was die komponente macht genauso durchstepen wie einen "normalen" Quelltext.

jim_raynor 25. Okt 2004 09:00

Re: mal ne dumme frage
 
Wenn in der Enterprise-Version von Delphi 6 die Sourcecodes der VCL mit dabei sind dann ja. Schaue mal im /source/vcl Verzeichnis von Delphi. Da war es zumindest bei Delphi 5 dabei.

P.S: So dumm ist die frage garnicht :angel:

Stevie 25. Okt 2004 09:01

Re: mal ne dumme frage
 
:warn: Wähl mal bitte einen aussagekräftigeren Titel!

Zur Laufzeit ist das möglich. Die Sourcen müssen nur in einem bekannten oder dem gleichen Verzeichnis wie die Anwendung liegen.

Daniel 25. Okt 2004 09:02

Re: mal ne dumme frage
 
Die Frage ist nicht dumm, aber ändere bitte den Titel Deines Beitrages, so dass aus diesem hervorgeht, worum es sich bei Deiner Frage dreht.

(siehe auch FAQ-Eintrag zum Stichwort "8""8")

LoL 25. Okt 2004 09:07

Re: mal ne dumme frage
 
zunächst mal sorry für den titel.

zu meiner frage:
ich hab ne komponente geschrieben. ich starte das programm drücke einen button der an der kompo was verändert. so in der art:
Delphi-Quellcode:
  kompo.aussehen := groß;
jetzt will ich sehen was da in der kompo passiert. wenn ich das normal durchstepe dann geht der da drüber und fertig ist! könnt ihr mir helfen? :gruebel:

jim_raynor 25. Okt 2004 09:09

Re: mal ne dumme frage
 
Statt F8 zum Steppen, benutze mal F7. Dann springt er in die Funktion auch rein, sofern der Sourcecode verfügbar ist (gehe mal von aus, wenn es deine eigene Kompo ist).

LoL 25. Okt 2004 09:11

Re: mal ne dumme frage
 
ja schon klar hab ich probiert geht aber nit. er springt dann einfach weiter.

jim_raynor 25. Okt 2004 09:12

Re: mal ne dumme frage
 
Hast schon mal probiert direkt einen Haltepunkt im Quellcode der Komponente zu setzen?

LoL 25. Okt 2004 09:15

Re: mal ne dumme frage
 
habs gerade ausprobiert geht trotzdem nicht! es erschein auch ein kreuz beim haltepunkt und nicht ein haken wies normalerweise sein müsste
@jim_raynor ja die sources sind dabei

jim_raynor 25. Okt 2004 09:18

Re: mal ne dumme frage
 
Das bedeutet entweder, dass der Linker alles rausoptimiert, weil es nicht gebraucht wird (was ich mir nur schwer vorstellen kann), oder der findet die Unit nicht richtig. Gibt es vielleicht noch eine Unit mit dem gleichen Namen, so dass es dort Probleme gibt?

Stevie 25. Okt 2004 09:19

Re: mal ne dumme frage
 
In welchem Verzeichnis sind die Sources?
Eventuell musst du sie noch in den Umgebungsoptionen eintragen!

sakura 25. Okt 2004 09:21

Re: mal ne dumme frage
 
@LoL: :warn: Du wurdest inzwischen oft genug aufgefordert Deinen Titel zu ändern. Tue dieses bitte sofort.

...:cat:...

LoL 25. Okt 2004 09:22

Re: mal ne dumme frage
 
also die komponente heist auf keinenfall wie eine bereitsvorhadene.
ich hab die komponente jetzt mal deinstalliert.
hab ein neues projekt angelegt und sagen wir mal in c:\test gespeichert.
da hab die die kompo jetzt rein und sie wieder installiert geht aber trotzdem net :gruebel:

hat sich erledigt hab das thema geändert nochmal sorry

Daniel 25. Okt 2004 09:27

Re: mal ne dumme frage
 
Rechts oben bei Deinem ersten Beitrag ist der passende Link:
http://www.delphipraxis.net/template.../icon_edit.gif

LoL 25. Okt 2004 09:33

Re: komponente "durchsteppen"
 
vielleicht hat meine antwort oben zu missverstädnissen geführt die frage besteht immer noch hab nur geschafft das thema gändert 8)

Stevie 25. Okt 2004 09:36

Re: komponente "durchsteppen"
 
Gehst du in Umgebungsoptionen, Verzeichnisse und trägst den Pfad zu deinen Kompo-Sourcen unter Suchpfad ein.

LoL 25. Okt 2004 09:38

Re: komponente "durchsteppen"
 
stand schon drin

Stevie 25. Okt 2004 09:41

Re: komponente "durchsteppen"
 
Hmm, dann versuch mal, die Kompo-dpk mit in deine Projektgruppe zu nehmen...

jim_raynor 25. Okt 2004 09:41

Re: komponente "durchsteppen"
 
Kann eigentlich nur daran liegen, dass er sie nicht findet. Am besten suchst du mal die dcu Dateien zu der Komponente und löscht diese. Danach neu kompilieren. Wenn das klappt, hast du zumindestens gewissheit, dass die Unit überhaupt gefunden wurde.

LoL 25. Okt 2004 09:45

Re: komponente "durchsteppen"
 
ich weis nicht ob ihr das vorraus gesetzt habt aber die lösung ist ganz einfach :wall: .
einfach die komponente zum projekt hinzufügen!

nochmal thx@all

dizzy 25. Okt 2004 10:16

Re: komponente "durchsteppen"
 
:shock: Ich geh mal ganz schwer davon aus, dass das eigentlich vorausgesetzt werden konnte... Sonst:
Zitat:

Zitat von jim_raynor
[...] der Linker alles rausoptimiert [...]

:roll:

jim_raynor 25. Okt 2004 10:31

Re: komponente "durchsteppen"
 
Zitat:

Zitat von dizzy
:shock: Ich geh mal ganz schwer davon aus, dass das eigentlich vorausgesetzt werden konnte... Sonst:
Zitat:

Zitat von jim_raynor
[...] der Linker alles rausoptimiert [...]

:roll:

Das ist aber nur der Fall, wenn es im Projekt genutzt wird. Du kannst durchaus Komponenten in einem Projekt benutzen, die aber nicht dem Projekt hinzugefügt wurden. Wie gesagt, ich gehe weiterhin davon aus, dass der Compiler die Unit (aus welchen Gründen auch immer) nicht mehr finden konnte. Durch den Eintrag im Projekt, wird ja explizit das Verzeichnis vorgehen und somit hatte er ab diesen Zeitpunkt keine Probleme mehr, die Unit zu finden. Wo kämen wir denn hin, wenn man jede Unit die irgendwie benutzt wird, ins Projekt aufnehmen muss.

dizzy 25. Okt 2004 10:45

Re: komponente "durchsteppen"
 
Ahem, ich habe in meinem 3-Stunden-Geschlafen-Geist doch glatt "zum Projekt hinzufügen" mit "benutzen" gleich gesetzt :oops:. Ich bitte um Nachsicht :spin:

MaBuSE 25. Okt 2004 10:45

Re: komponente "durchsteppen"
 
Zitat:

Zitat von LoL
ich weis nicht ob ihr das vorraus gesetzt habt aber die lösung ist ganz einfach :wall: .
einfach die komponente zum projekt hinzufügen!

Das ist aber nicht der einzige Weg.

Wenn Du eine Komponente (sagen wir TmyComponent in myComponent.pas) geschrieben hast, muss die Komponente Delphi hinzugefügt werden.

Entweder man erzeugt sich ein Package dafür, oder man fügt sie einem bestehenden Package zu.
(-> Menü -> Komponente -> Komponente installieren -> In vorhandenes Package / In neues Package)

Dann wird das Package kompiliert (*.bpl wandert nach $(DELPHI)\Projects\bpl) und kann benutzt werden.

Delphi bindet nun immer die myComponent.dcu in das Projekt ein.

Beim Debuggen muss die myComponent im Pfad stehen und zwar "vor" der *.dcu!
Das bedeutet: Wenn Du den Pfad '$(DELPHI)\lib;$(DELPHI)\Projects\bpl;c:\myCompone nt\Source' im Bibliothekspfad eingestellt hast (-> Menü -> Tools -> Umgebungsoptionen -> Bibliothek -> Bibliothekspfad), Deine myComponent.dcu im Verzeichnis $(DELPHI)\Projects\bpl liegt, aber Deine Source im c:\myComponent\Source, dann findest der Debugger die myComponent.pas nicht.

Lösung: Es gibt einen Suchpfad (-> Menü -> Tools -> Umgebungsoptionen -> Bibliothek -> Suchpfad).
(In der Registry wird dieser Pfad unter HK_CU\Software\Borland\Delphi\x.0\Library\Browsing Path abgelegt, das ist etwas aussagekräftiger als Suchpfad.)

Der Debugger schaut nun zuerst in dem Suchpfad nach der myComponent.pas nach, und lädt diese zum Debuggen.

Also man braucht nur den Suchpfad zu ergänzen und fertig ;-)

Stevie 25. Okt 2004 10:50

Re: komponente "durchsteppen"
 
Zitat:

Zitat von MaBuSE
Also man braucht nur den Suchpfad zu ergänzen und fertig ;-)

Auf mich hört ja niemand! :cry:
Zitat:

Zitat von Stevie
Gehst du in Umgebungsoptionen, Verzeichnisse und trägst den Pfad zu deinen Kompo-Sourcen unter Suchpfad ein.

Zitat:

Zitat von LoL
stand schon drin

:mrgreen:

MaBuSE 25. Okt 2004 11:06

Re: komponente "durchsteppen"
 
Zitat:

Zitat von Stevie
Zitat:

Zitat von MaBuSE
Also man braucht nur den Suchpfad zu ergänzen und fertig ;-)

Auf mich hört ja niemand! :cry:
Zitat:

Zitat von Stevie
Gehst du in Umgebungsoptionen, Verzeichnisse und trägst den Pfad zu deinen Kompo-Sourcen unter Suchpfad ein.

Zitat:

Zitat von LoL
stand schon drin

:mrgreen:

Wichtig ist, das es im "Browsing Path" steht (-> Menü -> Tools -> Umgebungsoptionen -> Bibliothek -> Suchpfad)
und nicht im Projekt Suchpfad (-> Menü -> Projekt -> Optionen -> Verzeichnisse/Bedingungen -> Suchpfad) !!!

Stevie 25. Okt 2004 11:12

Re: komponente "durchsteppen"
 
Zitat:

Zitat von MaBuSE
Wichtig ist, das es im "Browsing Path" steht (-> Menü -> Tools -> Umgebungsoptionen -> Bibliothek -> Suchpfad)
und nicht im Projekt Suchpfad (-> Menü -> Projekt -> Optionen -> Verzeichnisse/Bedingungen -> Suchpfad) !!!

Zitat:

Zitat von Stevie
Gehst du in Umgebungsoptionen, Verzeichnisse und trägst den Pfad zu deinen Kompo-Sourcen unter Suchpfad ein.

:roll: Ja ok, da vertut man sich schnell...

LoL 25. Okt 2004 11:14

Re: komponente "durchsteppen"
 
delphi is irgendwie blöd
net falsch verstehen aber das mit den projekten in delphi is irgendwie a quatsch

Stevie 25. Okt 2004 11:16

Re: komponente "durchsteppen"
 
Wieso?

jim_raynor 25. Okt 2004 11:19

Re: komponente "durchsteppen"
 
Zitat:

Zitat von LoL
delphi is irgendwie blöd
net falsch verstehen aber das mit den projekten in delphi is irgendwie a quatsch

Dann mach doch alles in eine Unit wenn es dir besesr gefällt :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 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