![]() |
Programm läuft nicht auf anderen Computern
Hallo,
ich habe für ein Programm ein Setup geschrieben. Wenn ich das Programm auf meinem Computer installiere läuft alles wie es sein sollte. Aber wenn ich das auf anderen Computern installiere, wird das Programm gestartet aber sofot wieder beendet. Wie kann das sein? Alle für das Programm relevanten Dateien werden mit geliefert. Für das Setup verwende ich ![]() Danke im Voraus |
Re: Programm läuft nicht auf anderen Computern
kopieren die Dateien doch mal ohne Setup auf den anderen Computer und probier ob es dann geht.
gruss |
Re: Programm läuft nicht auf anderen Computern
Ok habe ich ausprobiert funktioniert aber immer noch nicht.
Da kommt noch nichtmal eine Fehlermeldung. Es baut sich auf und plotzlich ist es weg. :cry: |
Re: Programm läuft nicht auf anderen Computern
Zitat:
Grüße vom marabu |
Re: Programm läuft nicht auf anderen Computern
Außer einigen Dateien, die zum speichern der Einstellungen benötigt werden, hat das Programm nicht mehr viele weiteren Programmdateien. Nur 2 DLLs, 3 Bitmaps und 3 "client" Programmen. Die sind aber alle vorhanden
Ich habe auch mal ausprobiert ob ich funktionen aus einer Dll ins Programm übertrage aber das hatte keinen Effekt. Nachtrag: Zitat:
|
Re: Programm läuft nicht auf anderen Computern
Hallo,
Hört sich ja merkwürdig an, dein Problem. Kann es sein das du auf irgendwelche Fremdroutinen zugreifst die auf den anderen Rechnern schlicht nicht vorhanden sind? Ich kann mir schlecht vorstellen das du das nicht machst, da eine Standalone Mediacenteranwendung ziemlich schwer zu realisieren sein dürfte. Gruß |
Re: Programm läuft nicht auf anderen Computern
Zitat:
Nachtrag: Ich habe gesucht und keinen Fehler gefunden. Wohlmöglich liegt es an der "Drive.dll" die ich mir mal zusammengetragen habe. Es kann ja sein dass diese ein Fehler enthält. Ihr könnt sie euch ja mal anschauen
Delphi-Quellcode:
library Drive;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, MMSystem; {$R *.res} function LockDrive(ADriveLetter: Char; ALock: Boolean): Boolean; var LWStatus: Hwnd; LTemp: Cardinal; LPMR32: Boolean; Const IOCTL_STORAGE_MEDIA_REMOVAL = $2D4804; begin LwStatus := CreateFile(PChar('\\.\' + ADriveLetter + ':'),GENERIC_READ Or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); LPMR32 := ALock; If LwStatus <> INVALID_HANDLE_VALUE Then begin result := DeviceIoControl(LwStatus, IOCTL_STORAGE_MEDIA_REMOVAL, @LPMR32, sizeof(LPMR32), nil, 0, LTemp, nil); CloseHandle(LwStatus); end else result := False; end; function DriveName(DriveChar: Char): string; var OldErrorMode : Integer; NotUsed, VolFlags : DWORD; Buf : array [0..MAX_PATH] of Char; begin OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS); try GetVolumeInformation(PChar(DriveChar + ':\'), Buf, sizeof(Buf), nil, NotUsed, VolFlags, nil, 0); Result := Format('%s', [Buf]); finally SetErrorMode(OldErrorMode); end; end; function GetDiskIn(Drive: Char): Boolean; var ErrorMode: word; DriveNumber: Integer; begin {Meldung eines kritischen Systemfehlers vehindern} ErrorMode := SetErrorMode(SEM_FailCriticalErrors); try DriveNumber := Ord(Drive) - 64; if DiskSize(DriveNumber) = -1 then Result := False else Result := True; finally {ErrorMode auf den alten Wert setzen} SetErrorMode(ErrorMode); end; end; function OpenCD(Drive: String): Boolean; var Res: MciError; OpenParm: TMCI_Open_Parms; Flags: DWORD; S: string; DeviceID: Word; begin Result := False; S := Drive + ':'; Flags := MCI_OPEN_TYPE or MCI_OPEN_ELEMENT; with OpenParm do begin dwCallback := 0; lpstrDeviceType := 'CDAudio'; lpstrElementName := PChar(S); end; Res := mciSendCommand(0, MCI_OPEN, Flags, Longint(@OpenParm)); if Res <> 0 then Exit; DeviceID := OpenParm.wDeviceID; try Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0); if Res = 0 then Exit; Result := True; finally mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm)); end; end; function CloseCD(Drive: String): Boolean; var Res: MciError; OpenParm: TMCI_Open_Parms; Flags: DWORD; S: string; DeviceID: Word; begin Result := False; S := Drive + ':'; Flags := MCI_OPEN_TYPE or MCI_OPEN_ELEMENT; with OpenParm do begin dwCallback := 0; lpstrDeviceType := 'CDAudio'; lpstrElementName := PChar(S); end; Res := mciSendCommand(0, MCI_OPEN, Flags, Longint(@OpenParm)); // if Res <> then Exit; DeviceID := OpenParm.wDeviceID; try Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0); if Res = 0 then Exit; Result := True; finally mciSendCommand(DeviceID, MCI_CLOSE, Flags, Longint(@OpenParm)); end; end; exports LockDrive name 'LockDrive', DriveName name 'DriveName', GetDiskIn name 'GetDiskIn', CloseCD name 'CloseCD', OpenCD name 'OpenCD'; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz