DDE i OLE

DDE (dynamiczna wymiana danych) i OLE (łączenie i upakowanie obiektów) są podstawowymi narzędziami do skutecznej integracji różnych aplikacji w środowisku Windows.

DDE (dynamiczna wymiana danych) i OLE (łączenie i upakowanie obiektów) są podstawowymi narzędziami do skutecznej integracji różnych aplikacji w środowisku Windows.

DDE służy do wymiany informacji w czasie rzeczywistym między aplikacjami Windows. Pierwsza aplikacja, zwana serwerem, przesyła dane do drugiej aplikacji, zwanej klientem. Wyobraźmy sobie dość typowy przykład: piszemy list za pomocą programu Write (lub Word for Windows, AmiPro itp.), do którego zamierzamy włączyć tabelkę wybraną z bazy danych utworzonej w Excelu. Wybraną część arkusza kopiujemy do bufora pośredniczącego (Clipboard) i przechodzimy do listu napisanego za pomocą Write'a. W tym miejscu dokumentu, w którym ma być wklejona tabelka, wybieramy opcję Paste Link z menu Edit. W odpowiedzi tabelka z Excela pojawi się w liście (patrz rys. 1).

W tym miejscu należą się dodatkowe wyjaśnienia. Jeśli w Excelu nie usunęliśmy nagłówków kolumn i nazw wierszy (Opcja Display z menu Options), to mimo, że wybrana część tabelki ich nie zawierała, pojawią się one w dokumencie Write'a.

Jeżeli zamiast opcji Paste Link wybraliśmy opcję Paste (lub nacisnęliśmy klawisze Shift-Insert), to nie powstało dynamiczne połączenie tych dwóch dokumentów. Proste kopiowanie przenosi jedynie zawartość bufora, bez informacji o ich pochodzeniu. Sposób przeniesienia informacji zależy od wyboru opcji kopiowania: Paste czy Paste Special. Proszę przetestować, jakie wyniki otrzymujemy korzystając z wielu opcji prostego kopiowania. Ponieważ jednak tematem artykułu jest DDE, to wracamy do Paste Link.

Po ponownym wejściu do programu Write, na ekranie pojawi się pytanie, czy chcemy uaktualnić dynamiczne połączenia z innymi dokumentami (p. rys. 2). Wystarczy odpowiedzieć tak, aby każda zmiana w bazie danych w Excelu pojawiła się również w naszym dokumencie tekstowym.

Jeżeli w dokumencie tekstowym tupniemy dwukrotnie w obszarze tabelki, to zostanie wywołany Excel z załadowanym plikiem, zawierającym te właśnie dane. Zmiana danych w Excelu nie znajdzie jednak natychmiast swego odbicia w dokumencie tekstowym, tylko podczas zamykania dokumentu Excela pojawi się ostrzeżenie (kolejny rys. 3), że arkusz jest połączony z innym dokumentem, a więc informacja w tamtym drugim dokumencie może już nie być aktualna.

Jeśli decydujemy się uaktualnić informację w dokumencie Write'a, trzeba wywołać funkcję Links z menu Edit. Mamy tam do wyboru kilka opcji. Jeżeli wybierzemy Update Now (uaktualnij połączenia), to informacja z arkusza zostanie przeniesiona do dokumentu tekstowego i Excel już nie zaprotestuje przy próbie zamykania dokumentu. Jeżeli natomiast wybierzemy opcję Cancel Links (usuń połączenia), to połączenie zniknie i od tej pory rezultat przeniesienia będzie zbliżony do prostego kopiowania z bufora.

Opcja Change Links (zmień połączenia) służy do wskazania nowego dokumentu, z którym ma być połączony dokument tekstowy. Pozwala to na uaktualnienie połączeń po przeniesieniu arkusza obliczeniowego do innego katalogu lub nadaniu mu innej nazwy.

Czasem zależy nam na zatrzymaniu w dokumencie tekstowym stanu aktualnego, bez korzystania z informacji zmieniającej się w arkuszu. Wtedy należy oczywiście wybrać opcję Cancel Links. Trzeba przy tym pamiętać, że dwukrotne tupnięcie na tabelkę, której połączenie do arkusza zostało w ten sposób przerwane, wywoła komunikat mówiący, że nie jest to obiekt połączony ani upakowany (p. rys. 5). Tak więc nie możemy już teraz ani wykonać edycji tej tabeli za pomocą programu źródłowego (w tym przypadku Excela) ani dokonać aktualizacji danych przez uaktualnienie połączeń.

Dane, używane przez różne aplikacje korzystające z DDE, są przechowywane w ich macierzystych formatach i pomimo że przejawiają swą obecność w innym, to fizycznie znajdują się w różnych plikach: część pochodząca z Excela znajduje się w pliku Excela itp. Możliwości przechowywania w jednym dokumencie danych pochodzących z różnych aplikacji dostarcza dopiero łączenie i upakowanie obiektów, czyli OLE. Pomówimy o tym w następnym odcinku.

Dynamiczna wymiana danych DDE jest potężnym narzędziem integrującym aplikacje Windows. W wielu publikacjach DDE określane jest mianem systemu rozpowszechniania wiadomości (messaging system), działającym na jednym komputerze między różnymi aplikacjami. W wersji Windows for Workgroup możliwości DDE są znacznie większe, gdyż komunikacja może odbywać się między dowolnymi komputerami w sieci.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200