Λέτε να ζητάω κάτι που δε γίνεται ? Για να δούμε, θα ήθελα τις απόψεις σας.
Φτιάχνω μια εφαρμογή που χρησιμοποιώντας την (COM) Microsoft Word 11 βιβλιοθήκη φορτώνεται το Microsoft Word, δημιουργείται ένα έγγραφο document και ο χρήστης θα πρέπει να εκτελέσει κάποιες ενέργειες πάνω στο έγγραφο, όπου με τη σειρά της η εφαρμογή θα "ελέγξει" ότι όλα έγιναν ορθώς. Η εφαρμογή χωρίζεται σε δύο μέρη.
Το πρώτο μέρος, αφορά τη δημιουργία του εγγράφου κι όλων των παραμέτρων αυτού. Δηλαδή τη μία φορά θα ανοίγει απλά η εφαρμογή Word, την άλλη φορά θα ανοίγει μαζί κι ένα κενό έγγραφο, την άλλη ένα συγκεκριμένο αποθηκευμένο έγγραφο κ.ο.κ. Οι εντολές για να γίνει κάθε φορά το κάθε τι, μπαίνουν δυναμικά μέσω μιας βάσης που έχει αποθηκευμένες τις εντολές και εκτελούνται με τη χρήση VBCodeProvider (δημιουργώντας ένα assembly που με τη σειρά του εκτελείται).
Το δεύτερο μέρος είναι κι αυτό δυναμικό. Κάθε φορά, ζητείται και κάτι διαφορετικό από πλευράς χρήστη. Οπότε σε κάθε περίπτωση ελέγχονται διαφορετικά πράγματα. Υπάρχουν κι αυτά μέσα στη βάση δεδομένων, όπου φορτώνονται σε ένα VBCodeProvider που είναι υπεύθυνο αυτή τη φορά να κάνει τον έλεγχο στις ενέργειες του χρήστη.
Επειδή δε θέλω να σας μπερδεύω με λεπτομέρειες, να δώσω ένα παράδειγμα, άκρως απλοποιημένο. Η εφαρμογή ανοίγει και διαβάζει στη βάση δεδομένων τι πρέπει να εμφανίσει στο χρήστη. Η βάση περιέχει τις εντολές "Άνοιξε το Microsoft Word, εμφάνισε ένα κενό νέο έγγραφο". Ο χρήστης θα πρέπει να γράψει το όνομα του στο κενό έγγραφο και να πατήσει ένα κουμπί που ονομάζεται "Έλεγχος". Η εφαρμογή διαβάζει και πάλι τη βάση, όπου αυτή τη φορά αφορά τον έλεγχο των ενεργειών του χρήστη. Η βάση περιέχει τις εντολές, "Αν στο κενό έγγραφο του Word, έχουν πληκτρολογηθεί δύο λέξεις, εμφάνισε το μήνυμα "Συγχαρητήρια!" ".
Και τώρα ακολουθεί η απορία! Έχω καταφέρει κι έχω κάνει τα δύο σκέλη όπως τα αναφέρω να δουλέψουν με επιτυχία, αλλά δε μπορώ να τα συνδέσω μεταξύ τους (και κατά μια έννοια, είναι λογικό!). Δηλαδή. Με το VBCodeProvider δημιουργείται ένα assembly με αρχή, μέση και τέλος κι εκεί τελειώνουν όλα. Δηλαδή, ανοίγω την εφαρμογή Word χρησιμοποιώντας μια μεταβλητή π.χ. myApp, δημιουργώ κι ένα έγγραφο με μια μεταβλητή π.χ. myDoc. Με το τέλος της εκτέλεσης του κώδικα assembly, προφανώς παύουν να υπάρχουν το myApp και το myDoc.
Πηγαίνοντας στο δεύτερο σκέλος, αυτό του ελέγχου, προφανώς και πάλι, δεν υπάρχουν τα myApp και myDoc, οπότε αν κι έχω το έγγραφο ανοιχτό δεν μπορώ να αναφερθώ σε αυτό!
Καμιά ιδέα βρε παιδιά ??
Συγγνώμη αν κούρασα με τα πολλά λόγια, αλλά ήθελα να γίνω όσο κατανοητός γίνεται με την πρώτη!