Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   'Der Vorgang kann nicht erzeugt werden', Delphi 7 (https://www.delphipraxis.net/173832-der-vorgang-kann-nicht-erzeugt-werden-delphi-7-a.html)

Chris603 19. Mär 2013 19:59

Delphi-Version: 7

'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hey Leute,

Ich bin neu hier im Forum, und Delphi ist auch recht neu für mich, habt bitte deshalb etwas Nachsicht :wink:
Ich habe neuerdings das Problem, das beim Kompilieren meines Projekts(Konsolenanwendung), der Compiler mich mit folgender Fehlermeldung(Vorher reagiert der Compiler sogar kurze Zeit nicht) bewirft:
"Der Vorgang kann nicht erzeugt werden, das System kann die angegebene Datei nicht finden."
Nach dem Ich meinen Quellcode zerstückelt habe(bin da schon ganz gut drin, bin nämlich C++-Programmierer), habe Ich herausgefunden, das der Fehler nur auftritt, wenn Ich die Funktion 'Readln;' verwende. Wenn Ich sie ausklammere oder lösche, verschwindet der Fehler :shock:

Jetzt frag Ich mich nur: Warum und vor allem welche Datei ist nicht vorhanden??

Ich hoffe, Ihr kennt das Problem, oder habt zumindest Lösungsvorschläge, denn Ich weiß echt nicht weiter, bin schon kurz vor'm durchdreh'n ^^


Christoph

PS: Die Unit SysUtils ist eingebunden und der Compiler meldet auch keine Fehler im Quellcode!

Mathematiker 19. Mär 2013 20:10

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo,
die Verwendung von readln ohne Angabe einer Datei, aus der gelesen werden soll, ist nur für Konsolenprogramme möglich, d.h. in der dpr muss als 1.Zeile
{$APPTYPE console}
stehen.

Beste Grüße
Mathematiker

Chris603 19. Mär 2013 20:17

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo!

Wie ich schon geschrieben habe, ist das Programm eine Konsolenanwendung:
Code:
program advText;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ceText in '..\ChrisEngine\ceText.pas', // <- dämlicher Name, Ich weiß :-D
  ceMath in '..\ChrisEngine\ceMath.pas'; // <- dämlicher Name, Ich weiß :-D

var
  TextClass : TText;
  MathClass : TMath;

begin

  TextClass.printf('Hallo Welt!');
  TextClass.printf('Hallo Welt in blau!, 1);
  Readln;
end.
Also das {$APPTYPE console} ist vorhanden, Ich habe es auchmal in die erste Zeile geschoben(mit program advText vertauscht), das hat aber auch keine Besserung gebracht :(


Grüße
Christoph

Mathematiker 19. Mär 2013 20:32

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo,
Zitat:

Zitat von Chris603 (Beitrag 1208013)
Wie ich schon geschrieben habe, ist das Programm eine Konsolenanwendung:

Hatte ich überlesen, mein Fehler.

Ich denke, Du wirst wohl die ceText.pas zeigen müssen, damit jemand eine Idee für den Fehler hat, denn
Code:
program advText;
{$APPTYPE CONSOLE}
uses
  SysUtils;
begin
  Readln;
end.
läuft einwandfrei, d.h. das readln "verträgt" sich mit dem printf wohl nicht. Ohne mehr Informationen kann man da wohl schwer etwas sagen.

Beste Grüße
Mathematiker

Chris603 19. Mär 2013 20:36

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo!

Ok, hier ist die ceText.pas:
Delphi-Quellcode:
// -----------------------------------------------------------------------------
// Datei: ceText.pas ----------------------------------------------------------
// Datum: 19.03.2013  ----------------------------------------------------------
// -----------------------------------------------------------------------------
// Textklasse der ChrisEngine. Stellt Funktionen zum Umgang mit Text in --------
// Konsolenanwendungen bereit.                                         --------
// -----------------------------------------------------------------------------
unit ceText;

interface
  // I N C L U D E S -------------------------------------------------------------
  uses
    SysUtils, Windows;

  // C E T E X T  -    K L A S S E ----------------------------------------------
  type
    TText = class
    private
      iStdTextColor: Integer;
    public
      procedure printf(sText: String; TextColor: Integer=0); // formatierte Ausgabe
      procedure ClrScr;                                     // Konsole leeren
      function Ansi2OEM(AnsiString: string): string;        // ANSI-String zu OEM-String
      procedure TText;                                   // Konstruktor
  end;

implementation
  procedure TText.TText;
  begin
    iStdTextColor := 6;
  end;

  procedure TText.printf(sText: String; TextColor: Integer=0);
  begin
    // Ungültige Textfarbe?
    if textColor > 14
      then MessageBox(0, 'Ungültiger Farbwert für Text in TText.pas!', 'Warnung!', MB_OK);
    if textColor = 0
      then TextColor := iStdTextColor;

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColor);
    Writeln(Ansi2OEM(sText));
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), iStdTextColor);
  end;

  procedure TText.ClrScr;
  var tc :tcoord;
    nw : DWORD;
    cbi : TConsoleScreenBufferInfo;
    HConsoleOutput:thandle;
    TextAttr : Word;
  begin
    TextAttr := cbi.wAttributes;
    HConsoleOutput := GetStdHandle(STD_OUTPUT_HANDLE);
    getConsoleScreenBufferInfo(HConsoleOutput,cbi);
    tc.x := 0;
    tc.y := 0;
    FillConsoleOutputAttribute(HConsoleOutput,textattr,cbi.dwsize.x*cbi.dwsize.y,tc,nw);
    FillConsoleOutputCharacter(HConsoleOutput,#32,cbi.dwsize.x*cbi.dwsize.y,tc,nw);
    setConsoleCursorPosition(hconsoleoutput,tc);
  end;

function TText.Ansi2OEM(AnsiString: string): string;
begin
  ANSIString := ANSIString + #0;
  CharToOEM(PChar(ANSIString), @ANSIString[1]);
  Delete(ANSIString, Length(ANSIString), 1);
  Result := ANSIString;
end;
end.
Ich weiß echt nicht, was daran falsch sein soll, vor allem weil die Funktionen ja auch ohne das Readln funktionieren, der Compiler sagt ja auch nix...


Gruß
Chris

Mathematiker 19. Mär 2013 20:56

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo,
dein Textstring
Code:
  TextClass.printf('Hallo Welt in blau!, 1);
ist nicht abgeschlossen. Mit
Code:
  TextClass.printf('Hallo Welt in blau!', 1);
funktioniert alles tadellos, natürlich ohne die andere Unit, die Du ja eigentlich gar nicht aufrufst.

Beste Grüße
Mathematiker

Chris603 19. Mär 2013 21:03

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo,
das mit dem Textstring ist mir wohl hier beim posten passiert :/

Ich habe jetzt in der zweiten Bibliothek, ceMath, während Ich auf mögliche Antworten gewartet habe, eine neue Funktion hinzugefügt, wirklich nur eine neue Funktion=Funktionsprototyp in der Klasse und eben die Funktion im 'implementation'-Teil reinschrieben. Nur danach funktioniert es!?
Dabei hatte Ich doch die ceMath-Unit nicht einmal benutzt?
Hat jemand eine Idee, woran das liegen könnte?

Ich glaub langsam einfach nur noch, das Delphi mich troll'n will ^^


Gruß
Christoph

Mathematiker 19. Mär 2013 21:07

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Tut mir leid, ich habe keine Idee mehr. :gruebel:
Da müssen wohl die Profis 'ran.

Beste Grüße
Mathematiker

Chris603 19. Mär 2013 21:14

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Hallo

Schade, naja Ich glaub bei dem Fehler muss man dann einfach weiter programmieren, Ich hatte schon bei vorherigen Programmen(ohne eigene Units, nur mit Standardtfunktionen) das Problem, das mir der Compiler diesen Fehler an den Kopf geworfen hat, da habe Ich es aber einfach ignoriert und weiter gemacht, als das Programm dann fertig war, war der Fehler damals auch weg. Hier war aber der Fehler trotz fertig gestellter Funktionen IMMER noch da, daher hab Ich mich gemeldet...Echt komisch!

Falls noch ein anderer eine Erklärung für dieses 'Phänomen' hat, kann er Sie ja bitte posten! :)

Gruß
Christoph

Bjoerk 19. Mär 2013 21:50

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7
 
Ist TextClass erzeugt? Mit "procedure TText" kann man jedenfalls (wenn ich mich nicht irre) keine Klasse erzeugen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz