Autor Beitrag
Smartie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 205



BeitragVerfasst: Mo 20.06.05 10:40 
Hallo,

ich habe mein Programmchen um eine kleine Prozeur erweitert, welche meinen Warnings, die in eine Logdatei geschrieben werden, auch evtl. auftretende Warnings hinzufügt.

Es funktioniert auch einwandfrei, nur brignt er ide Fehlermeldung "External Exception 80000001", und ich hab keine Ahnung warum, bzw. was dsiese Überhaupt aussagt (Die Delphi-Hilfe kontne mir da auch nicht helfen".

Weiß einer von Euch was da los ist?

Lieben Gruß und Danke

Smartie
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 20.06.05 11:17 
Externe Exceptions sind Windows-Fehlercodes. Die stehen im PSDK erklärt. Ich guck mal, ob ich gleich was finde ...

Sorry, nicht gleich gefunden ... WinError.h war zu lang ...

ausblenden winerror.h
 
16907:
{ ... }
#define E_NOTIMPL                        _HRESULT_TYPEDEF_(0x80000001L)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Smartie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 205



BeitragVerfasst: Mo 20.06.05 12:47 
Hm,... und was kann ich da jetzt machen? Ic hweiß echt nimemr weiter. Es ist keine Lebensnotwendige Funktion, aber sie soltle schon drin sein. Kann ich das irgendwie abfangen?

Lieben Gruß und Danke

Smartie
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 20.06.05 13:39 
Kannst Du mal die Routine senden, die die Exception verursacht?

BTW: Nutzt Du darin zufällig ActiveX\COM\DCOM? Der Fehlercode ist eine ActiveX-Warning.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Smartie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 205



BeitragVerfasst: Mi 22.06.05 07:19 
Also, ich sende hier mal das Codestück, bei welchem , wenn ich es ausführe, die Exception kommt.

Und ja, ich nutze COM,aber bisher lief alles kla,r und nur weil ich plötzlich meine Warnings mit reinnehme, meckert er.

Also hier die Komponennte:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
{-----------------------------------------------------------------------------
  Procedure : Ziel_Warning
  Version   : Alfa

  Resultat  : Gibt ein Warning aus, wenn kein Zielspeicher angegeben wurde
-----------------------------------------------------------------------------}

procedure Ziel_Warning;
var sepi : String;
begin
  try
    sepi := copy(Ziel_VarArr[z],1,3);
    if upperCase(sepi) = 'NIX' then
    begin
      Ziel_WarningArr[z] := 'Kein Zielspeicher in Zeile ' + InttoStr(z) + ' definiert.';
      Warn_Bool01 := true;
    end
    else
    begin
      Ziel_WarningArr[z] := '';
    end;
  finally ;
  end;

end;


Herzlichen Dank und lieben Gruß

Smartie
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 22.06.05 13:13 
Auf Anhieb seh ich darin nix, was irgendwie Fehler verursachen könnte.
Kannst Du rein der Vollständigkeit halber mal noch die Deklarationen der einzelnen Variablen ergänzen?
Wenn dabei aber keine COM-Interfaces drin sind, sollte aber nix passieren.

BTW: Ist alles assigned und in-range?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Smartie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 205



BeitragVerfasst: Mi 22.06.05 13:35 
Ok, ich hab die ursaceh, und auch beseitigt.
Ich habe statt diese Prozedur in die Schleife zu donnern, diese da raus genommen, und ne eigene schleife machen lassen.

vorher sah es halt ungefähr so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure tudat;
begin
  for z := 1 to laenge do
  begin
    Ziel_VarArr[z] := 'blah blubb'
    Ziel_Warning; 
  end;
end;



und jetzt rufe ich Ziel_Warning; erst nach der prozedur "tudat" auf, und sie sieht entsprechend so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
{-----------------------------------------------------------------------------
  Procedure : Ziel_Warning
  Version   : Alfa

  Resultat  : Gibt ein Warning aus, wenn kein Zielspeicher angegeben wurde
-----------------------------------------------------------------------------}

procedure Ziel_Warning;
var sepi : String;
    f : integer;
begin
    for f := 1 to (L_INI_Array-1DO
    begin
      try
        sepi := copy(Ziel_VarArr[f],1,3);
        if upperCase(sepi) = 'NIX' then
        begin
          Ziel_WarningArr[f] := 'Kein Zielspeicher in Zeile ' + InttoStr(z) + ' definiert.';
          Warn_Bool01 := true;
        end
        else
        begin
          Ziel_WarningArr[f] := '';
        end;
      finally ;
      end;
    end;

end;


Wieder was gelernt *g*
Herzlichen Dank,

Smartie