Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 240970 (2406)

| Suchen
| Zurück zur Übersicht

Autor | Thema: DLL
Martin Pohl
| Datum:06.08.02 10:15 (martin_pohl@msn.com) |
Hallo! Ich habe ein kleines Programm, das einen Dialog aus einer DLL laden soll. Aber wenn ich das Programm starte, passiert überhaupt nix. Das Programm kann ich dann nur noch über den Task-Manager schließen. Kann mir einer sagen, wo hier der Fehler ist: -Profan² 5.0-32 -WindowsXP Professional $P+ SetLFN 1 Declare Dialog%,Encrypt%,Decrypt%,Help%,Abort%,End%,DLL% ' HIER WIRD DIE PP.DLL GELADEN Let DLL%=@UseDLL("pp.dll") ' HIER WIRD DER DIALOG AUS DER DLL GELADEN. DER DIALOG HAT DEN NAMEN 0 IN DER DLL Let Dialog%=@CreateExtDialog(DLL%,%HWnd,"0") ' HIER WERDEN DEN HANDLE'S DIE BUTTONS DES DIALOGES ZUGEORDNET Let Encrypt%=@GetHandle(Dialog%,1) Let Decrypt%=@GetHandle(Dialog%,2) Let Help%=@GetHandle(Dialog%,3) Let Abort%=@GetHandle(Dialog%,4) ' HIER WIRD DIE PP.DLL WIEDER FREIGEGEBEN Let DLL%=@UseDLL("") Let End%=0 WhileNot End% WaitInput If @Equ(%Key,2) Let End%=1 ElseIf @GetFocus(Encrypt%) Run ".\encrypt.exe" ElseIf @GetFocus(Decrypt%) Run ".\decrypt.exe" ElseIf @GetFocus(Help%) WinHelp ".\help.hlp","Informationen" ElseIf @GetFocus(Abort%) Let End%=1 EndIf EndWhile End
Florian May
| Datum:06.08.02 11:25 |
Was bei mri oft schon der Fehler war, ist das er den gewählten Dateinamen nicht möchte, daher probier doch mal bei Let Dialog%=@CreateExtDialog(DLL%,%HWnd,"0") mal ein Wort wie beipsielsweise "Dialog" aus. Weiterhin kannst du den Fehler auswendig machen in dem du beispielsweise mal die Prosudren ' HIER WERDEN DEN HANDLE'S DIE BUTTONS DES DIALOGES ZUGEORDNET rausnimmst und schaust ob das Fenster überhaupt angezeigt wird. Weiterhin kann es auch sein, das du zwar den Filenamen in der DLL aber nicht den Filetyp angegeben hast.........
Sven Schmidts
| Datum:06.08.02 11:39 (schmidts@flat2serv.de) |
Wenn Du die DLL wieder aus dem Speicher entfernst, gelten die Handles / Zeiger nicht mehr. Wo sollen sie auch hinzeigen, wenn nichts mehr da ist? Dann solltest Du Dir angewöhnen, die Ergebnisse als DLL's nicht als INT, sondern als LONGINT zu speichern. Mfg. Sven Schmidts
Jörg Sellmeyer
| Datum:06.08.02 12:07 (joerse@gmx.de) |
Hallo, Außerdem nützt Dir UseDll("") gar nix. Zitat aus der Profanhilfe: Um die DLL zu entfernen ist der Befehl FREEDLL zu verwenden. Ansonsten liegt`s wohl an dem, was Sven sagt. Die Dll also erst am Ende des Programms wieder freigeben. Gruß Jörg
Martin Pohl
| Datum:06.08.02 12:33 (martin_pohl@msn.com) |
Hallo, Jörg! Ich habe Profan² 5.0-32, da gibt es den Befehl FreeDLL nicht. @UseDLL("") wird stattdessen verwendet.
Martin Pohl
| Datum:06.08.02 13:08 (martin_pohl@msn.com) |
Komisch, in der Profan²-Hilfe ist ein Beispiel zum Anzeigen des FILEOPEN-Dialoges aus Pofan²: @CreateExtDialog(%HInstance,%HWnd,"FILEOPEN") Der Dialog wird aber auch nicht bei mir angezeigt. Was ist das los?
Jörg Sellmeyer
| Datum: 06.08.02 14:43 (joerse@gmx.de) |
Hallo Martin, Zumindest in meiner 5.0 Profan.exe ist kein Dialog "Fileopen" vorhanden. Dafür Editbox1 und ...2 Lisbox1 - ...8 und "LDialog" sowie "Input". Falls Du ihn noch nicht hast, kann ich Dir den Reshacker empfehlen: http://www.users.on.net/johnson/resourcehacker/ Gruß Jörg

| Zurück zur Übersicht