08. november 2001 - 08:38Der er
5 kommentarer og 2 løsninger
Udveksling af data comobjects
Hej
Jeg har et større problem som jeg har kogt ned til sagens kerne. Jeg har brug for to programmer (muligvis det samme, men startet to gange), der kan snakke sammen igennem et com interface. Det er umiddelbart ikke den i mine øjne vanskelige del :). I hvert program skal der være en løkke med en enkelt udregning i:
for i:=0 to 100 do begin TestVar1:=TestVar1+TestVar2 end;
Programmet indeholder selv TestVar1, men værdien TestVar2 skal den hente fra det andet program når den er blevet beregnet i dets løkke. På en eller anden måde skal det være muligt for det ene program at se i det andet program, at det er færdig med en runde i løkken inden det henter værdien. Jeg vil helst have et svar med en masse kode :).
Er det ikke bare at lade program 2 gemme resultatet og et flag i enten en midlertidig fil, i registreringsdatabasen eller på en absolut adresse i memoryen, og så lade program 1 polle på flaget for at se om program 2 er færdigt?
Dvs:
Program 1 starter op Gemmer flag = false Gemmer resultat = 0 Starter program 2 Program 2 starter op ... ... ... gemmer resultat og ... sætter flag = true ... når det er beregnet henter resultat når flag = true og foretager beregning
Hvis du kalder program2 vha. ShellExecute har du muligheden for at overføre parametre (via en pointer). I stedet for en tekststreng kunne det være en pointer til en type (type arg = record flag: boolean; Resul: Double; end;).
I program 2 kan du så finde adressen via Addr(ParamStr(1)) og ændre dem som du vil.
Tak for svarene. Det er nok unclebug der kommer tættest på en sober måde at gøre tingene på. hreiffs måde kan godt lade sig gøre, men er ikke særlig køn, da der er rige muligheder for at benytte sig af events INDENI COM interfacerne på en standardiseret måde. Det var netop det jeg søgte et eksempel på.
Tak for svarene. Det er nok unclebug der kommer tættest på en sober måde at gøre tingene på. hreiffs måde kan godt lade sig gøre, men er ikke særlig køn, da der er rige muligheder for at benytte sig af events INDENI COM interfacerne på en standardiseret måde. Det var netop det jeg søgte et eksempel på.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.