Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:cas:wmi:convfromdelphi [03/04/2023 17:36] thierry [Code Lazarus] |
prog:lazarus:cas:wmi:convfromdelphi [03/04/2023 17:47] (Version actuelle) thierry [Sources & Ressources] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Conversion depuis Delphi ====== | + | ====== Conversion WbemScripting_TLB de Delphi vers Lazarus ====== |
===== Énoncé du problème ===== | ===== Énoncé du problème ===== | ||
Dans mes recherches j'ai trouvé du code **Delphi** faisant (a peu prés) ce que je cherche a faire. | Dans mes recherches j'ai trouvé du code **Delphi** faisant (a peu prés) ce que je cherche a faire. | ||
Ligne 12: | Ligne 12: | ||
Ci dessous nous allons trouver : | Ci dessous nous allons trouver : | ||
- La source originale en Delphi que j'ai trouvé. | - La source originale en Delphi que j'ai trouvé. | ||
+ | - Comment importer un TLB avec Lazarus | ||
+ | - La source corrigé en Free Pascal | ||
===== Sources Delphi Originales ===== | ===== Sources Delphi Originales ===== | ||
- | <code delphi Delphi> | + | <code delphi Delphi [enable_line_numbers="true"]> |
unit Unit1; | unit Unit1; | ||
Ligne 80: | Ligne 82: | ||
{{:prog:lazarus:cas:wmi:activx1.jpg?400|}} | {{:prog:lazarus:cas:wmi:activx1.jpg?400|}} | ||
+ | |||
+ | Plus d'infos ici : [[https://wiki.lazarus.freepascal.org/LazActiveX]] | ||
==== Importer le TLB ==== | ==== Importer le TLB ==== | ||
Cela nous donne accés a un nouveau menu ''Importer la bibliothèque de types...'' : | Cela nous donne accés a un nouveau menu ''Importer la bibliothèque de types...'' : | ||
Ligne 97: | Ligne 101: | ||
Exemple ''TSWbemSink'' est devenu ''TEvsSWbemSink'' et ses properties ont changé: | Exemple ''TSWbemSink'' est devenu ''TEvsSWbemSink'' et ses properties ont changé: | ||
- | <code delphi Delphi> | + | <code delphi Delphi [enable_line_numbers="true"]> |
TSWbemSink = class(TOleServer) | TSWbemSink = class(TOleServer) | ||
private | private | ||
Ligne 126: | Ligne 130: | ||
</code> | </code> | ||
- | <code delphi Lazarus> | + | <code delphi Lazarus [enable_line_numbers="true"]> |
TEvsSWbemSink = Class(TEventSink) | TEvsSWbemSink = Class(TEventSink) | ||
Private | Private | ||
Ligne 150: | Ligne 154: | ||
</code> | </code> | ||
==== Code Lazarus ==== | ==== Code Lazarus ==== | ||
- | <code delphi [enable_line_numbers="true",highlight_lines_extra="14"]> | + | <code delphi [enable_line_numbers="true",highlight_lines_extra="14,25,29,30,53,55,57,60,61"]> |
unit Unit1; | unit Unit1; | ||
Ligne 228: | Ligne 232: | ||
end. | end. | ||
</code> | </code> | ||
+ | ===== Résultat ===== | ||
+ | {{:prog:lazarus:cas:wmi:extra1.jpg|}} | ||
+ | ====== Sources & Ressources ====== | ||
+ | * [[https://wiki.lazarus.freepascal.org/LazActiveX]] | ||
+ | * [[https://theroadtodelphi.com/2011/04/18/delphi-and-wmi-events/]] | ||
+ | |||
+ | |||