Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Vorgang kann nicht erzeugt werden (https://www.delphipraxis.net/114013-vorgang-kann-nicht-erzeugt-werden.html)

napsterxx 18. Mai 2008 11:46


Vorgang kann nicht erzeugt werden
 
Also ich benutze Delphi 2005 Personal und Vista. Ich habe gestern eine 3D DirectX 9 Anwendung geschrieben, wollte heute daran weiterarbeiten, jedoch kann ich das Projekt nicht mehr kompilieren. THematitel ist die Fehlermeldung

mkinzler 18. Mai 2008 11:53

Re: Vorgang kann nicht erzeugt werden
 
Ohne Code wäre es ein reines Ratespiel

napsterxx 18. Mai 2008 12:13

Re: Vorgang kann nicht erzeugt werden
 
Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXHelp, Direct3D9, D3DX9;

type
  TForm1 = class(TForm)
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure OnIdle(Sender: TObject; var Done: boolean);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Direct3D9: IDirect3D9;
  D3DDev9: IDirect3DDevice9;

  Vertexbuffer: IDirect3DVertexBuffer9;

type
  TD3DLVertex = record
    Position: TD3DXVector3;
    Diffuse: TD3DColor;
  end;

const
  D3DFVF_TD3DLVERTEX = D3DFVF_XYZ or D3DFVF_DIFFUSE;

implementation

{$R *.dfm}

function GetTD3DLVertex( X, Y, Z: Extended; Farbe: TD3DColor ): TD3DLVertex;
begin
  Result.Position := D3DXVector3( X, Y, Z );
  Result.Diffuse := Farbe;
end;

function InitGeometry: HRESULT;
var
  Vertices: Array[0..2] of TD3DLVertex;
  pVertices: Pointer;
begin
  Vertices[0] := GetTD3DLVertex( 1.0, -1.0, 0.0, $FFFF0000 );
  Vertices[1] := GetTD3DLVertex( -1.0, -1.0, 0.0, $FF0000FF );
  Vertices[2] := GetTD3DLVertex( 0.0, 1.0, 0.0, $FFFFFFFF );

  Result := D3DDev9.CreateVertexBuffer( Sizeof( TD3DLVertex) *3,
                                        D3DUSAGE_WRITEONLY,
                                        D3DFVF_TD3DLVERTEX,
                                        D3DPOOL_DEFAULT,
                                        Vertexbuffer, nil );
  if Result <> D3D_OK then
    Exit;

  Result := Vertexbuffer.Lock( 0, SizeOf( TD3DLVertex ) * 3, pVertices, 0 );
  if Result <> D3D_OK then
    Exit;
  Move( Vertices, pVertices^, SizeOf( Vertices ) );
  Result := Vertexbuffer.Unlock;

  D3DDev9.SetRenderState( D3DRS_LIGHTING, LongWord( False ) );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DHInitDGFX( Form1.Handle, False, True, 0, 0, 0, True, Direct3D9, D3DDev9 );
  InitGeometry;
  Application.OnIdle := OnIdle;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Vertexbuffer := nil;
  DHCloseDGFX( Direct3D9, D3DDev9 );
end;

procedure Render;
begin
  D3DDev9.BeginScene;
  D3DDev9.Clear( 0, nil, D3DCLEAR_TARGET, D3DCOLOR_ARGB( 0, 0, 0, 0 ), 1.0, 0);

  D3DDev9.SetStreamSource( 0, VertexBuffer, 0, SizeOf( TD3DLVertex ) );
  D3DDev9.SetFVF( D3DFVF_TD3DLVertex );

  D3DDev9.DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 );


  D3DDev9.EndScene;
  D3DDev9.Present( nil, nil, 0, nil );
end;

procedure TForm1.OnIdle(Sender: TObject; var done: boolean);
begin
  done := false;
  Render;
end;

end.
Der Code hat gestern noch funktioniert

Fussball-Robby 18. Mai 2008 12:23

Re: Vorgang kann nicht erzeugt werden
 
Hier hatte jemand ein ähnliches Problem. Er hatte eine DLL nicht richtig eingebunden. Könnte das bei dir u.U. auch der Fall sein?

napsterxx 18. Mai 2008 13:30

Re: Vorgang kann nicht erzeugt werden
 
Ne ist nicht der fall, ist ja keine DLL eingebunden

Luckie 18. Mai 2008 13:35

Re: Vorgang kann nicht erzeugt werden
 
Läßt sich das gar nicht erst kompilieren oder tritt der Fehler erst zur Laufzeit auf? Wenn zweiteres könnte man es debuggen, wenn ersters würde ich mal eine Routine nach der anderen auskommentieren und gucken, wann es sich wieder kompilieren lässt.

napsterxx 18. Mai 2008 14:35

Re: Vorgang kann nicht erzeugt werden
 
Ich drücke [F9] also zum Kompilieren und der Fehler kommt.

napsterxx 20. Mai 2008 11:43

Re: Vorgang kann nicht erzeugt werden
 
Das Problem besteht immernoch :D

delphimaedel 20. Mai 2008 11:45

Re: Vorgang kann nicht erzeugt werden
 
Schau mal in meiner Signatur. Damit ist alles gesagt... :thumb: :thumb:

Dunkel 20. Mai 2008 11:52

Re: Vorgang kann nicht erzeugt werden
 
Zitat:

Zitat von napsterxx
Das Problem besteht immernoch :D

Zitat:

Zitat von Luckie
Läßt sich das gar nicht erst kompilieren oder tritt der Fehler erst zur Laufzeit auf? Wenn zweiteres könnte man es debuggen, wenn ersters würde ich mal eine Routine nach der anderen auskommentieren und gucken, wann es sich wieder kompilieren lässt.

:?:

Nuclear-Ping 20. Mai 2008 11:53

Re: Vorgang kann nicht erzeugt werden
 
Zitat:

Zitat von Dunkel
Zitat:

Zitat von napsterxx
Das Problem besteht immernoch :D

Zitat:

Zitat von Luckie
Läßt sich das gar nicht erst kompilieren oder tritt der Fehler erst zur Laufzeit auf? Wenn zweiteres könnte man es debuggen, wenn ersters würde ich mal eine Routine nach der anderen auskommentieren und gucken, wann es sich wieder kompilieren lässt.

:?:

Zitat:

Zitat von napsterxx
Ich drücke [F9] also zum Kompilieren und der Fehler kommt.

[edit]
:!: :mrgreen:
[/edit]

delphimaedel 20. Mai 2008 11:55

Re: Vorgang kann nicht erzeugt werden
 
Zitat:

Zitat von delphimaedel
Schau mal in meiner Signatur. Damit ist alles gesagt... :thumb: :thumb:


Nuclear-Ping 20. Mai 2008 11:58

Re: Vorgang kann nicht erzeugt werden
 
Zitat:

Zitat von delphimaedel
Zitat:

Zitat von delphimaedel
Schau mal in meiner Signatur. Damit ist alles gesagt... :thumb: :thumb:


Und wo in der Hilfe steht was zu DirectX-spezifischen Problemen in Verbindung mit dieser Fehlermeldung?

tomsel 20. Mai 2008 13:18

Re: Vorgang kann nicht erzeugt werden
 
Zitat:

Zitat von Luckie
Läßt sich das gar nicht erst kompilieren oder tritt der Fehler erst zur Laufzeit auf? Wenn zweiteres könnte man es debuggen, wenn ersters würde ich mal eine Routine nach der anderen auskommentieren und gucken, wann es sich wieder kompilieren lässt.

Auf diesen Post hast du noch nicht wirklich reagiert.

Außer mit:

Zitat:

Zitat von napsterxx
Ich drücke [F9] also zum Kompilieren und der Fehler kommt.

und das läss nach wie vor alle Fragen offen. Ist es nun ein Compilerfehler oder Laufzeitfehler? Wenn der Threadtitel wirklich die Fehlermeldung ist, dann tippe ich auf Laufzeitfehler und schlage dir vor, das Programm zu debuggen.


Gruß
tomsel

shmia 20. Mai 2008 13:24

Re: Vorgang kann nicht erzeugt werden
 
@napsterxx: Mach einen Screenshot von der Fehlermeldung.
Sollte dein Bildschirm eine grosse Auflösung haben, dann nimm bitte ein Grafikprogramm und lade hier nur einen relevanten Ausschnitt hoch. (bevorzugtes Format: GIF)
Auf dem relevanten Ausschnitt wäre die Fehlermeldung + der überwiegende Teil der IDE zu sehen.

napsterxx 20. Mai 2008 15:41

Re: Vorgang kann nicht erzeugt werden
 
@delphimaedel
Klugscheißen und Spammen kann man auch wo anders wo - bzw dein Klugscheißen war ja nur idiotisch
Nimm dir ein Beispiel an Nuclear-Ping, so ein Fehler findet man nicht in der Delphi Hilfe

@Dunkel
War schon beantwortet - Spam?

@shmia & tomsel
Ich kann die Fehlermeldung nicht "erzeugen" - Sie kommt an einem Tag, am anderen funktionierts

tomsel 20. Mai 2008 15:51

Re: Vorgang kann nicht erzeugt werden
 
Könnte es sein, dass es immer dann nicht mehr funktioniert, nachdem du das Programm einige Male mit F9 gestartet und mit Ctrl+F2 wieder abgebrochen hattest?

s-off 20. Mai 2008 15:53

Re: Vorgang kann nicht erzeugt werden
 
Zitat:

Zitat von napsterxx
Ich kann die Fehlermeldung nicht "erzeugen" - Sie kommt an einem Tag, am anderen funktionierts

Schön, dass Du schon in Beitrag #16 mit dieser Information kommst :gruebel:

Schonmal die IDE (irgendwelche Packages haben sich temp. zerschossen) bzw. den Rechner (irgendwelche PreReqs haben sich temp. zerschossen) neu gestartet?

napsterxx 20. Mai 2008 18:10

Re: Vorgang kann nicht erzeugt werden
 
Nein, also normalerweise habe ich Delphi 2005 Personal, das habe ich auch nach der Installation von Vista installiert, aber wenn ich unter Delphi 2005 programmiere und etwas lade, kann ich dann nichts mehr kompilieren, sprich solange ich unter 2005 nichts lade kann ich programmieren. Ich habe deshalb weil das so lästig ist mir Delphi 7 besorgt. Da kann ich ohne Probleme programmieren, jedoch gefällt es mir nich so gut. Und was auch etwas komisch ist. Ich programmiere unter Delphi 7, beende es, starte Delphi 2005 lade ein Projekt, das geht natürlich nicht, und wenn ich dann unter Delphi 7 weiter proggen will funktioniert das auch nicht mehr^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 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