|
Von:Thomas Holste thomas.holste@holste-software.deHallo Zusammen,Hal An:All :gelesen |
||
erstellt am:26.05.2018 12:38:53
- #23766 in section
Antworten Antworten mit Zitat
Hallo Zusammen, neuguerig durch die neuliche Veranstaltung habe ich wie von Uwe Habermann beschrieben via BS eine Manifest-Dateu zu einem VFP-Programm erstellt und dann eine File-Sektion für die CHILKAT-FTP-DLL (ActiveX)eingefügr. Die Daten habe ich wie beschrieben zusammengestellt: 1. Zuerst via Progid "Chilkat_9_5_0.Ftp2" die Class-ID gesucht, dann via Class-ID das Threading-Modell gesucht. So soeht das alles aus: Das Hanze dann in die Manofest-Datei eingefügt, die DLL deregistriert und ins Programm-Verzeichnis kopiert. Aber es geht nicht. type="win32" name="Galileo" processorArchitecture="x86" /> name="Microsoft.Windows.Common-Controls" version="6.0.0.0" language="*" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" /> clsid="{32BD32D3-66EA-4EE6-A684-20CE86F757C1}" description="Chilkat FTP"/> Kann mir da jemand weiter helfen? Vielen Dank und viele Grüße Thomas |
||
Von:Thomas Holste thomas.holste@holste-software.deHallo Zusammen,Hal An:Thomas Holste thomas.holste@holste-software.deHallo Zusammen,Hal |
||
erstellt am:26.05.2018 12:43:31
- #23767 in section
Antworten Antworten mit Zitat
Kleiner Nachtrag: Ich bitte die Tippfehler zu enrschuldigen, meine Sehkraft hat gerade die 5% unterschritten. Und: Ich hoffe, ich bin als Thomas Holste zu erkennen, obwohl das Forum hartnäckig benauptet, ich sei Hans-Peter Grözinger. |
||
Von:Burkhard Anglewitz anglewitz@anglewitz.de An:Thomas Holste thomas.holste@holste-software.deHallo Zusammen,Hal |
||
erstellt am:28.05.2018 17:45:58
- #23768 in section
Antworten Antworten mit Zitat
--from Newsreader at Montag, 28. Mai 2018; 17:45:58-- Hallo Thomas, so einfach ist das auch nicht. Wenn du die DLL deregistrierst, kannst du in VFP nicht mehr weiter programmieren. Dazu m=C3=BCsstest Du die manifest Datei in die FoxPro.exe rein kompilieren. Die Manifestdatei greift erst in deiner fertigen Anwendung, wenn sie beim Erstellen denselben Namen hat die deine kompilierte Anwendung und dabei im Projekt Ordner lag. Zum Testen deiner Anwendung kannst du deine DLL dann die registrieren oder du gibst dem einzelnen Modulen der DLL in der Manifestdatei eine andere progid, z.B. â=80=9CChilkat_9_5_0.Ftp2.1" Dann kannst du per Version(2) = 0 im Programm Code steuern, welches Objekt du erzeugen willst. Zum Beispiel so: IF VERSION(2) = 0 loftp = CreateObject('Chilkat_9_5_0.Ftp2.1') && .Ftp2.1 aus der Manifest kommt ELSE loftp = CreateObject('Chilkat_9_5_0.Ftp2') && .Ftp2 aus registrierter Klasse ENDIF Ich hoffe ein bisschen Licht ins Dunkel gebracht zu haben. Beste Gr=C3=BC=C3=9Fe Burkhard Anglewitz "Thomas Holstethomas.holste@holste-software.deHallo Zusammen"; "Hal" schrieb im Newsbeitrag news:741366... Hallo Zusammen, neuguerig durch die neuliche Veranstaltung habe ich wie von Uwe Habermann beschrieben via BS eine Manifest-Dateu zu einem VFP-Programm erstellt und dann eine File-Sektion f=C3=BCr die CHILKAT-FTP-DLL (ActiveX)eingef=C3=BCgr. Die Daten habe ich wie beschrieben zusammengestellt: 1. Zuerst via Progid "Chilkat_9_5_0.Ftp2" die Class-ID gesucht, dann via Class-ID das Threading-Modell gesucht. So soeht das alles aus: Das Hanze dann in die Manofest-Datei eingef=C3=BCgt, die DLL deregistriert und ins Programm-Verzeichnis kopiert. Aber es geht nicht. version="1.0.0.0" type="win32" name="Galileo" processorArchitecture="x86" /> Visual FoxPro type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" language="*" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" /> progid="Chilkat_9_5_0.Ftp2" clsid="{32BD32D3-66EA-4EE6-A684-20CE86F757C1}" description="Chilkat FTP"/> Kann mir da jemand weiter helfen20 Vielen Dank und viele Gr=C3=BC=C3=9Fe Thomas |
||
Von:Thomas Holste Thomas_Holste@Compuserve.com An:Burkhard Anglewitz anglewitz@anglewitz.de |
||
erstellt am:28.05.2018 20:04:38
- #23769 in section
Antworten Antworten mit Zitat
Hallo Burkhard, danke für Deine Hinweise. In der Zwischenzeit hatte ich einen Artikel von Rick Strahl gelesen, der mich auf die von Dir erwähnten Punkte aufmerksam machte. Ich habe die Anwendung dann auch neu kompilert und anschliessend die DLL deregistriert und mit dem Kompilat, nicht der IDE getestet. Aber leider auch ohne Erfolg. Die erweiterte Manifest-Datei wird zawr beim Kompilieren importiert )das kann ich mit VS prüfen), aber es geht trotzdem nicht. Viele Grüße Thomas
|
||
Von:Burkhard Anglewitz anglewitz@anglewitz.de An:Thomas Holste Thomas_Holste@Compuserve.com :gelesen |
||
erstellt am:29.05.2018 00:37:45
- #23770 in section
Antworten Antworten mit Zitat
--from Newsreader at Dienstag, 29. Mai 2018; 00:37:45-- Was passiert denn genau beim Zugriff? Gruß Burkhard "Thomas Holste" Hallo Burkhard, danke für Deine Hinweise. In der Zwischenzeit hatte ich einen Artikel von Rick Strahl gelesen, der mich auf die von Dir erwähnten Punkte aufmerksam machte. Ich habe die Anwendung dann auch neu kompilert und anschliessend die DLL deregistriert und mit dem Kompilat, nicht der IDE getestet. Aber leider auch ohne Erfolg. Die erweiterte Manifest-Datei wird zawr beim Kompilieren importiert )das kann ich mit VS prüfen), aber es geht trotzdem nicht. Viele Grüße Thomas -------------------------------------------------------------------------- --from Newsreader at Montag, 28. Mai 2018; 17:45:58-- Hallo Thomas, so einfach ist das auch nicht. Wenn du die DLL deregistrierst, kannst du in VFP nicht mehr weiter programmieren. Dazu m=C3=BCsstest Du die manifest Datei in die FoxPro.exe rein kompilieren. Die Manifestdatei greift erst in deiner fertigen Anwendung, wenn sie beim Erstellen denselben Namen hat die deine kompilierte Anwendung und dabei im Projekt Ordner lag. Zum Testen deiner Anwendung kannst du deine DLL dann die registrieren oder du gibst dem einzelnen Modulen der DLL in der Manifestdatei eine andere progid, z.B. â=80=9CChilkat_9_5_0.Ftp2.1" Dann kannst du per Version(2) = 0 im Programm Code steuern, welches Objekt du erzeugen willst. Zum Beispiel so: IF VERSION(2) = 0 loftp = CreateObject('Chilkat_9_5_0.Ftp2.1') && .Ftp2.1 aus der Manifest kommt ELSE loftp = CreateObject('Chilkat_9_5_0.Ftp2') && .Ftp2 aus registrierter Klasse ENDIF Ich hoffe ein bisschen Licht ins Dunkel gebracht zu haben. Beste Gr=C3=BC=C3=9Fe Burkhard Anglewitz "Thomas Holstethomas.holste@holste-software.deHallo Zusammen"; "Hal" schrieb im Newsbeitrag news:741366... Hallo Zusammen, neuguerig durch die neuliche Veranstaltung habe ich wie von Uwe Habermann beschrieben via BS eine Manifest-Dateu zu einem VFP-Programm erstellt und dann eine File-Sektion f=C3=BCr die CHILKAT-FTP-DLL (ActiveX)eingef=C3=BCgr. Die Daten habe ich wie beschrieben zusammengestellt: 1. Zuerst via Progid "Chilkat_9_5_0.Ftp2" die Class-ID gesucht, dann via Class-ID das Threading-Modell gesucht. So soeht das alles aus: Das Hanze dann in die Manofest-Datei eingef=C3=BCgt, die DLL deregistriert und ins Programm-Verzeichnis kopiert. Aber es geht nicht. version="1.0.0.0" type="win32" name="Galileo" processorArchitecture="x86" /> Visual FoxPro type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" language="*" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" /> progid="Chilkat_9_5_0.Ftp2" clsid="{32BD32D3-66EA-4EE6-A684-20CE86F757C1}" description="Chilkat FTP"/> Kann mir da jemand weiter helfen20 Vielen Dank und viele Gr=C3=BC=C3=9Fe Thomas -------------------------------------------------------------------------- |
||
Von:Thomas Holste Thomas_Holste@Compuserve.com An:Burkhard Anglewitz anglewitz@anglewitz.de |
||
erstellt am:29.05.2018 09:31:37
- #23771 in section
Antworten Antworten mit Zitat
Hallo Burkhard, es kommt der Fehler 1733 "Class definition .... not found Viele Grüße Thomas |
||
Von:Burkhard Anglewitz anglewitz@anglewitz.de An:Thomas Holste Thomas_Holste@Compuserve.com :gelesen |
||
erstellt am:29.05.2018 18:37:06
- #23772 in section
Antworten Antworten mit Zitat
--from Newsreader at Dienstag, 29. Mai 2018; 18:37:06-- Hi, er findet also die Chilkat-DLL, aber die Klasse nicht? Dann ist die Klasse wohl nicht richtig in der Manifest. Was passiert, wenn du die DLL unbenennst? Dann sollte erda Fehlen der DLL anmeckern, falls die Definition der Klasse richtig ist. Beste Grüße Burkhard "Thomas Holste" Hallo Burkhard, es kommt der Fehler 1733 "Class definition .... not found Viele Grüße Thomas |
||
Von:Thomas Holste Thomas_Holste@Compuserve.com An:Burkhard Anglewitz anglewitz@anglewitz.de |
||
erstellt am:30.05.2018 11:05:41
- #23773 in section
Antworten Antworten mit Zitat
Hallo Burkhard, es scheit jetzt zu gehen, ich werde gleich mal auf einen zweiten PC testen. Ich habe gestern einfach mal alles liefen gelassen, habe alles gelöscht, eine neue "leere" Manifest-Datei erstellt und dann die file-section mot einer Manifest-Datei, die mit Chilkat geschickt hat, gefüllt. Ich hatte vorher zwar auch die korrekte Classid, nun aber auch die Ids aller anderen in dem Control enthaltenen Klassen in die Datei engefügt. Vielen Dank noch einmal für all die Anregungen und Tips und viele Grüße Thomas |
||
Von:Hans-Peter Grözinger hanspetergr@gmx.de An:Thomas Holste Thomas_Holste@Compuserve.com :gelesen |
||
erstellt am:30.05.2018 12:38:25
- #23774 in section
Antworten Antworten mit Zitat
Hallo Zusammen ! Auch ich war bei Uwes Vortrag dabei und konnte jetzt alle meine ActiveX-Controls in der Manifest-Datei eintragen sodaß diese nicht mehr registriert werden müssen. Dazu möchte ich euch noch zwei Infos geben: - Wenn man vor den Namen des OCX einen Verzeichnisnamen setzt kann man die OCXe auch in ein Unterverzeichnis verschieben. file name="Class\ctTray.ocx" - Um nicht in der Registry nach den Infos suchen zu müssen kann man auch das ActiveX-Tool von NirSofer einsetzen: http://www.nirsoft.net/utils/axhelper.html Da findet man die CLSID, die ProgID, die Beschreibung und das Einfädelungsmodell (Apartment, Both, ...) -- Hans-Peter |
||
Von:Thomas Holste Thomas_Holste@Compuserve.com An:Hans-Peter Grözinger hanspetergr@gmx.de :gelesen |
||
erstellt am:30.05.2018 13:20:44
- #23775 in section
Antworten Antworten mit Zitat
Hallo Hans-Peter, danke für die Infos. Viele Grüße Thomas |