Das DF soll natürlich auch in den Genuss meines GUID-Plugins für
Proton kommen. Irgendwer hat mir erzählt, das Ding wäre sogar
Phase5-kompatibel.
Keine Ahnung. Ich brauche es nur, damit ich mir in Proton ein paar GUIDs im Format {aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee} einfügen lassen kann. Dann brauche ich kein Hilfsprogramm oder gar Delphi dazu. Allerdings werden bei mir die Klammern weggelassen. Wer die braucht, kommentiert die zwei Zeilen aus, die im Quellcode markiert sind:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80:
|
library createuuid;
uses Windows, ComObj;
{$E dll}
const INTERFACEVERSION = 1; KEINE_RUECKGABE = 0; RUECKGABE_ERSETZT_MARKIERUNG = 1; RUECKGABE_ERSETZT_EDITORTEXT = 2;
function pluginStart(Text: pchar; SelStart, SelLength: integer): pchar; export; stdcall; var tmp : string; begin tmp := CreateClassId;
delete(tmp,1,1); delete(tmp,length(tmp),1);
Result := pchar(tmp); end;
function pluginRueckgabetyp: integer; export; stdcall; begin Result := RUECKGABE_ERSETZT_MARKIERUNG; end;
function pluginInterfaceVersion: integer; export; stdcall; begin Result := INTERFACEVERSION; end;
exports pluginRueckgabetyp, pluginInterfaceVersion, pluginStart;
end. |
Und weil der Installer nicht fehlen darf:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| ' Register Plugin Script ' Copyright (c) 2005, Mathias Simmack ' Dim Sh, fso Set Sh = CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject")
' is Proton installed? Dim ProtonPath, PluginPath ProtonPath = Sh.RegRead("HKEY_CURRENT_USER\Software\meybohm\proton\global\DIR") PluginPath = Sh.RegRead("HKEY_CURRENT_USER\Software\meybohm\proton\global\PLUGINDIR")
If ProtonPath = "" Then MsgBox "Proton is not installed.", vbOk + vbExclamation, "Register Plugin" WScript.Quit End If
' create a plugin folder If PluginPath = "" Then PluginPath = ProtonPath + "\plugins" fso.CreateFolder(PluginPath) Sh.RegWrite "HKEY_CURRENT_USER\Software\meybohm\proton\global\PLUGINDIR", _ PluginPath, "REG_SZ" End If
' does the folder exist? If Not fso.FolderExists(PluginPath) Then fso.CreateFolder(PluginPath) End If
' copy plugin fso.CopyFile "*GUID.dll", PluginPath |
So, fertig.