Autor Beitrag
biohazard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89



BeitragVerfasst: Mo 01.09.03 12:55 
Hallo,

Sorry habe leider keine bessere Übrschrift gefunden.

Ich greife per WindowFromPoint() auf ein DBGrid in einem fremden Prog zu.
Funktionert auch alles ganz prima. Nun wollte ich aber in meinem Programm einen Wert abspeichern, sodaß ich nicht immer mit der Maus über dem DBGrid seien muß, um meine Aktionen durchführen zu können.

Das Problem ist das es mehrere DBGrids in dem Prog gibt. Also geht es nicht über den Klassennamen. Einen WindowText haben Grids auch nicht und das Handle ändert sich ja bei jedem Start.

Gibt es eine Möglichkeit eine eindeutige ID einer Komponente in einem Fremdprogramm zu finden und zu speichern, sodaß meine Prog nur noch den gespeicherten Wert abfragt und dann weiß welches Grid ich brauche.

_________________
LIVE FAST, DIE YOUNG
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 01.09.03 13:28 
Clientfenster haben normaler weise eine ID.

Sollte es ein VCL DBGrid sein, wirst du aber Pech haben. VCL Komponenten bilden ihre ID aus dem Handle, sind also bei jedem Programmstart anders, wie du schon festgestellt hast.

Ist es eine nicht VCL Komponente könntest du Glück haben, es sei den der Programmierer hat sich nicht drum gekümmert, dann muß die ID auch nicht eindeutig sein.

Die ID kannst du mit meinem Programm WindowInfo von meiner Seite ermitteln. Einfach die Zielscheibe mit der Maus nehmen und über das Fenster fahren.
biohazard Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89



BeitragVerfasst: Di 02.09.03 09:58 
Das hab ich mir schon fast gedacht. Leider ist es eine VCL Komponente.
Naja. Muß ich mir halt was anderes einfallen lassen.

Danke.

_________________
LIVE FAST, DIE YOUNG
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Di 02.09.03 18:25 
du kannst der kompo aber ne selbstgemachte id zuweisen indem du den
die TAG-propery verwendest
aus der delphi hilfe:
Zitat:

Stores an integer value as part of a component.

property Tag: Longint;

Description

Tag has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value or it can be typecast to any 32-bit value such as a component reference or a pointer.

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
biohazard Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89



BeitragVerfasst: Mi 03.09.03 12:59 
@ patrick

???? Wie soll ich denn der Komponente in dem anderen Prog einen Tag zuweisen. Außerdem wie merkt sich das andere Prog den Tag wenn es beendet wird. Sonst muß ich die Zuweiseung doch jedesmal neu machen.

Vieleicht versteh ich dich jetzt auch nicht ganz.

_________________
LIVE FAST, DIE YOUNG
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Mi 03.09.03 17:54 
tausendfach entschuldigung:
das mit der anderen application hab ich wohl überlesen :oops:
ich nehme alles wieder zurück :(

_________________
Patrick
im zweifelsfall immer das richtige tun!!!