Gå til innhold

Forskel på forms, bcb.


Anbefalte innlegg

Skrevet

Hej, jeg bruger bcb6.

 

Jeg prøver at få en form til at ligge on top (visuelt) af en

anden application (background program). Jeg har ikke adgang

til bakground programmets source. Desuden bakground

programmet skrevet i Visual C++, sandsynligvis med noget

kode fra DirectX. Dette kan sagtens lade

sig gøre hvis formen bliver lavet i en dll loadet af backgound

programmet, men hvis jeg prøver at ligge den on top fra en

stand alone exe, vil background programmet ikke "acceptere" min

form. Jeg har en stand alone exe som laver formen (eks 1):

Application->CreateForm(__clas­sid(TForm1), &Form1);

Form1->ParentWindow = BackGroundHWND;

Form1->Show();

 

Eller jeg fra en dll laver formen på samme måde (eks 2):

Application->CreateForm(__clas­sid(TForm1), &Form1);

Form1->ParentWindow = BackGroundHWND;

Form1->Show();

 

I eksempel 2 bliver formen lavet fra background programmet (loadet

via en dll).

I eksempel 1 fra en exe fil.

Til forskel fra hvad der sker i eksempel 2, så sker der i eksempel

1, når jeg prøver at få min form til at ligge on top fra stand alone

programmet, det at background programmet ikke vil acceptere min form.

Den vises on top, men hvis man klikker på min form minimeres

backgroundprogrammet sammen med min form. Dette sker ikke

hvis jeg laver min form fra en dll.

Det virker som om at background programmet sættes på pause når jeg

klikker på min form lavet fra standalone exe filen (derefter minimeres

det), hvorimod hvis jeg klikker på formen fra dll'en kører det andet

program videre i baggrunden.

 

Mit spørgsmål går så på, hvad er forskellen på at lave formen

fra dll'en og lave den fra et stand alone program? Og hvad skal jeg gøre

for at background programmet accepterer at min form skal ligge

on top?

Kan background programmet håndtere forms fra en anden process anderledes

end dem som er lavet fra dens egen process? Hvordan kommer man evt. rundt

om det problem?

 

På forhånd tak!

 

Mvh. Rasmus

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...