Autor |
Beitrag |
deagle
Beiträge: 89
|
Verfasst: Sa 21.09.02 17:23
Hallo
Der soll die Exe Starten aber was der Starten soll der aus ner ComboBox nehmen!!!
Quelltext 1: 2: 3:
| ShellExecute(Application.Handle, 'open', PChar('ComboBox1.Text'), nil, nil, SW_ShowNormal); |
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Sa 21.09.02 18:33
Versuch mal die Quotes ( ' ) im PChar wegzulassen. Und hinter dem Combobox.Text solltest du's mal mit 'nem ^probieren...
Vielleicht klappt's dann...
Tschüß
Thomas
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 21.09.02 18:39
tommie-lie hat folgendes geschrieben: | Versuch mal die Quotes ( ' ) im PChar wegzulassen. |
Das is´n guter Rat.
Zitat: | Und hinter dem Combobox.Text solltest du's mal mit 'nem ^ probieren... |
Das allerdings nicht.
Zitat: | Vielleicht klappt's dann. |
Ja! Wenn er deinen ersten Rat befolgt und in der ComboBox die Namen von vernünftigen und existierenden Dateinamen drin stehen.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 21.09.02 20:33
Eigentlich macht man sowas ja mit CreateProcess.
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Sa 21.09.02 20:42
Zitat: | Eigentlich macht man sowas ja mit CreateProcess. |
Sicherlich haste Recht. ShellExecute wird meines Wissens nach nur zum "Starten" von Datein verwendet. ALso, dass das dazugehörigen Programm gestartet wird und die Datei dann läd, aber ich denk, dass man einen Anfänger nicht gleich mit CreateProcess "erschlagen" sollte.
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 21.09.02 20:51
DeCodeGuru hat folgendes geschrieben: | Zitat: | Eigentlich macht man sowas ja mit CreateProcess. | aber ich denk, dass man einen Anfänger nicht gleich mit CreateProcess "erschlagen" sollte. |
Du hälts es also für besser ihm etwas falsches bei zu bringen?
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| function RunProcess(FileName: string): Longword; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar(StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; StartupInfo.wShowWindow := SW_SHOW; if not CreateProcess(nil, @Filename[1], nil, nil, False, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then Result := WAIT_FAILED; end; |
Ich hoffe, ich habe da auf die Schnelle nichts übersehen. Das läßt sich übrigens noch ausbauen. Aber weil es ja für einen Anfänger sein soll.
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Sa 21.09.02 21:09
Zitat: | Du hälts es also für besser ihm etwas falsches bei zu bringen? |
Das habe ich so nicht gesagt!!! Ich meinte nur, dass Leute, die noch nicht so gut programmieren können, auch die Sachen, die wir/du posten auch verstehen sollten. Und du musst zugeben, dass CreateProcess doch relativ komplex ist.
Zitat: | Aber weil es ja für einen Anfänger sein soll. |
Du betonst es so, als ob ich den, der das Thema eröffnet hat, als Anfänger abstufen würde, was ich allerdings nicht getan habe. Es lesen auch noch andere Leute, die vielleicht noch Anfänger sind, diesen Thread und wollen daraus lernen.
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 21.09.02 21:13
Na dann. Warum sollen sie es nicht gleich richtig lernen?
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 22.09.02 08:42
DeCodeGuru hat folgendes geschrieben: | Du betonst es so, als ob ich den, der das Thema eröffnet hat, als Anfänger abstufen würde, was ich allerdings nicht getan habe. |
Bei allem Respekt, DeCodeGuru, aber jemand, der den Text einer ComboBox in Anführungszeichen stellt und sich dann wundert, dass nichts passiert, der ist ein Anfänger und sollte vielleicht lieber erst noch mal in die Hilfe gucken bevor er sich Themen wie "ShellExecute" oder "CreateProcess" widmet.
|
|