Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Capturing objects

Hi! If someone knows please tell me how can I capture an object of an other application. For example if I want to know what data is in a TListView object, that is on an other applications form.

Thaks for reply!

DNME


Comments

  • MasterijnMasterijn Member Posts: 188
    : Hi! If someone knows please tell me how can I capture an object of an other application. For example if I want to know what data is in a TListView object, that is on an other applications form.
    :
    : Thaks for reply!
    :
    : DNME
    :
    :
    :
    Processes cannot share memory in a straight forward way. So, the standard Delphi way isn't going to work. One way of sharing data is message posting, but you can't post pointers. (The same mem-location in one process, has a complete different content than in the other because of its own virtual memory space)


  • zibadianzibadian Member Posts: 6,349
    : : Hi! If someone knows please tell me how can I capture an object of an other application. For example if I want to know what data is in a TListView object, that is on an other applications form.
    : :
    : : Thaks for reply!
    : :
    : : DNME
    : :
    : :
    : :
    : Processes cannot share memory in a straight forward way. So, the standard Delphi way isn't going to work. One way of sharing data is message posting, but you can't post pointers. (The same mem-location in one process, has a complete different content than in the other because of its own virtual memory space)
    :
    :
    :
    You could also use memory-mapped files. I've seen several examples of those in the Developer's Guide and on the net.
  • MasterijnMasterijn Member Posts: 188
    [b][red]This message was edited by Masterijn at 2003-12-29 10:54:46[/red][/b][hr]
    : : : Hi! If someone knows please tell me how can I capture an object of an other application. For example if I want to know what data is in a TListView object, that is on an other applications form.
    : : :
    : : : Thaks for reply!
    : : :
    : : : DNME
    : : :
    : : :
    : : :
    : : Processes cannot share memory in a straight forward way. So, the standard Delphi way isn't going to work. One way of sharing data is message posting, but you can't post pointers. (The same mem-location in one process, has a complete different content than in the other because of its own virtual memory space)
    : :
    : :
    : :
    : You could also use memory-mapped files. I've seen several examples of those in the Developer's Guide and on the net.
    :
    That's true, you can even map memory with the page-file, but allocating all objects in this memory, isn't straight forward also. But then only content can be shared, not pointers, they have to be remapped. COM-uses this technique, posting messages and memory mappings also. Memory mapped files are real fun to program. When using large emounts of memory, your data isn't swapped out to the page file, but to your own file. When your pages aren't dirty (content differs from file) this mean's no writing! When the mem-page's is hit, its simply (re)read from the file. Up to 2 gig of data can be handled very simple in this manner. And it's very fast to: load on demand. DBMS- use it a lot too.




Sign In or Register to comment.