示例#1
0
        private void InternListTable(ref int rlngIdx)
        {
            IEnumerator enumerator = default(IEnumerator);
            AcadRegisteredApplication dobjAcadRegisteredApplication2;

            try
            {
                enumerator = mobjAcadRegisteredApplications.GetValues().GetEnumerator();
                object dvarXDataType  = default(object);
                object dvarXDataValue = default(object);
                while (enumerator.MoveNext())
                {
                    dobjAcadRegisteredApplication2 = (AcadRegisteredApplication)enumerator.Current;
                    AcadRegisteredApplication acadRegisteredApplication = dobjAcadRegisteredApplication2;
                    InternAddToDictLine(ref rlngIdx, 0, acadRegisteredApplication.DXFName);
                    InternAddToDictLine(ref rlngIdx, 5, acadRegisteredApplication.Handle);
                    hwpDxf_List.BkDXFList_Reactors((Dictionary <object, object>)acadRegisteredApplication.DictReactors, ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    hwpDxf_List.BkDXFList_XDictionary((Dictionary <object, object>)acadRegisteredApplication.DictXDictionaries, ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    InternAddToDictLine(ref rlngIdx, 330, acadRegisteredApplication.OwnerID);
                    InternAddToDictLine(ref rlngIdx, 100, acadRegisteredApplication.SuperiorObjectName);
                    InternAddToDictLine(ref rlngIdx, 100, acadRegisteredApplication.ObjectName);
                    InternAddToDictLine(ref rlngIdx, 2, acadRegisteredApplication.Name);
                    InternAddToDictLine(ref rlngIdx, 70, acadRegisteredApplication.Flags70);
                    acadRegisteredApplication.GetXData(null, ref dvarXDataType, ref dvarXDataValue);
                    hwpDxf_List.BkDXFList_XData(RuntimeHelpers.GetObjectValue(dvarXDataType), RuntimeHelpers.GetObjectValue(dvarXDataValue), ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    acadRegisteredApplication = null;
                }
            }
            finally
            {
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            dobjAcadRegisteredApplication2 = null;
        }
示例#2
0
        private bool InternReadAppid(double vdblDefOwnerID, ref int rlngIdx, ref AcadRegisteredApplications robjAcadRegisteredApplications, ref string nrstrErrMsg)
        {
            nrstrErrMsg = null;
            Dictionary <object, object> dobjDictReactors2    = new Dictionary <object, object>();
            Dictionary <object, object> dobjDictXDictionary2 = new Dictionary <object, object>();
            int dlngStartIdx = rlngIdx;

            checked
            {
                double ddblObjectID    = default(double);
                double ddblOwnerID     = default(double);
                bool   InternReadAppid = default(bool);
                AcadRegisteredApplication dobjAcadRegisteredApplication2;
                if (hwpDxf_ReadRef.BkDXFReadRef_AcadSymbolTableRecord(mobjAcadDatabase, vdblDefOwnerID, "APPID", mobjDictReadCodes, mobjDictReadValues, ref rlngIdx, ref ddblObjectID, ref ddblOwnerID, ref dobjDictReactors2, ref dobjDictXDictionary2, ref nrstrErrMsg))
                {
                    bool dblnError;
                    if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 100, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Objektname in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadValues[rlngIdx], "AcDbRegAppTableRecord", TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Objektname in Zeile " + Conversions.ToString(rlngIdx * 2 + 2) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 1], 2, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Applikationsname in Zeile " + Conversions.ToString(rlngIdx * 2 + 3) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 2], 70, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Standard-Flag-Werte in Zeile " + Conversions.ToString(rlngIdx * 2 + 5) + ".";
                        dblnError   = true;
                    }
                    else
                    {
                        string dstrName   = Conversions.ToString(mobjDictReadValues[rlngIdx + 1]);
                        int    dlngCode70 = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 2]);
                        rlngIdx += 3;
                        if (Operators.ConditionalCompareObjectEqual(mobjDictReadCodes[rlngIdx], 71, TextCompare: false))
                        {
                            rlngIdx++;
                        }
                        object dvarXDataType  = default(object);
                        object dvarXDataValue = default(object);
                        dblnError = !hwpDxf_ReadBas.BkDXFReadBas_XData(ref rlngIdx, mobjDictReadCodes, mobjDictReadValues, ref dvarXDataType, ref dvarXDataValue, ref nrstrErrMsg);
                        if (!dblnError)
                        {
                            if (robjAcadRegisteredApplications.FriendNameExist(dstrName))
                            {
                                nrstrErrMsg = "Anwendung " + dstrName + " ab Zeile " + Conversions.ToString(dlngStartIdx * 2 + 1) + " existiert bereits.";
                                dblnError   = true;
                            }
                            else
                            {
                                dobjAcadRegisteredApplication2 = robjAcadRegisteredApplications.FriendAddAcadObject(dstrName, ddblObjectID, ref nrstrErrMsg);
                                if (dobjAcadRegisteredApplication2 == null)
                                {
                                    nrstrErrMsg = "Das Objekt konnte nicht hinzugefügt werden.";
                                    dblnError   = true;
                                }
                                else
                                {
                                    AcadRegisteredApplication acadRegisteredApplication = dobjAcadRegisteredApplication2;
                                    acadRegisteredApplication.FriendLetFlags70         = dlngCode70;
                                    acadRegisteredApplication.FriendSetDictReactors    = dobjDictReactors2;
                                    acadRegisteredApplication.FriendSetDictXDictionary = dobjDictXDictionary2;
                                    acadRegisteredApplication.SetXData(RuntimeHelpers.GetObjectValue(dvarXDataType), RuntimeHelpers.GetObjectValue(dvarXDataValue));
                                    acadRegisteredApplication = null;
                                }
                            }
                        }
                    }
                    InternReadAppid = !dblnError;
                }
                dobjDictReactors2              = null;
                dobjDictXDictionary2           = null;
                dobjAcadRegisteredApplication2 = null;
                return(InternReadAppid);
            }
        }