Thema: Delphi DeskBand und Formulare

Einzelnen Beitrag anzeigen

tromorow
(Gast)

n/a Beiträge
 
#1

DeskBand und Formulare

  Alt 19. Feb 2006, 20:23
Hi Läuz,

Ich hab mir en DeskBand geschrieben, welches echt sauber läuft.
Leider lassen sich auf dem kleinen Raum einige Einstellungen nicht unterkriegen.
Daher habe ich ein Konfigurationsformular geschrieben, welches ich gern über das Kontekstmenue aufrufen würde.
Delphi-Quellcode:
function TQRDeskBand.QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst, idCmdLast, uFlags: UINT): HResult;
begin
  FMenuItemCount := 1;
  AppendMenu(Menu, MF_STRING, idCmdFirst + 0, PChar('Einstellungen'));
  Result := MenuItemCount;
end;

function TQRDeskBand.InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult;
begin
  if (HiWord(Integer(lpici.lpVerb)) <> 0) or (LoWord(lpici.lpVerb) > Pred(MenuItemCount)) then
  begin
    Result := E_FAIL;
    Exit;
  end;
  case LoWord(lpici.lpVerb) of
    0: begin
         SettingsDlg.ShowModal; //des bleibt immer hier stecken!
         frmVisibleBand.FormShow(nil); // des alleine tut!
       end;
  end;
  Result := NO_ERROR;
end;
Leider kräscht der Explorer beim Versuch dies auszuführen immer.
Daher habe ich im DeskBandformular ein Popupmenü hinzugefügt welches folgendes ausführt:
Delphi-Quellcode:
procedure TfrmVisibleBand.SettingsExecute(Sender: TObject);
begin
  SettingsDlg.ShowModal;
  FormShow(Sender);
end;
Leider kommt hier dann die Meldung dass ein Fehler in der .dll aufgetreten ist und es tut sich nücht!

Ich habe auch schon probiert die DLL wieder selbst zu implementieren und dieses Formular zu starten, aber das selbe Problem.
Ich glaube das es daran liegt, dass des Fenster über die Windoof Taskleiste ausgeführt wird, oder der einfach irgend wie keinen Zugriff auf des Fenster kriegt.
Kein Plan ich verzweifele langsam dran!
Bitte sagt mir was ich falsch mache!
Ich habe noch nie mit DLL’s gearbeitet.
Danke!

Grüßle TT
  Mit Zitat antworten Zitat