Python: porque ao declarar o construtor da Filha também tenho que declarar o construtor da Mãe?

Estou desenvolvendo uma pequena aplicação em Python e me deparei com uma questão que não consegui tirar uma conclusão concreta sobre o porque disso acontecer. De maneira simples o problema é o seguinte:

O seguinte código funciona normalmente:

  from kivy.app import App   from kivy.uix.widget import Widget    class MyKeyboardListener(Widget):           pass         class Aplicativo(App):         def build(self):             return MyKeyboardListener()    if __name__ == '__main__':         Aplicativo().run()   

O problema de fato aparece quando crio o método construtor da classe, nesse caso a aplicação não mais funciona

  from kivy.app import App     from kivy.uix.widget import Widget    class MyKeyboardListener(Widget)       def __init__(self): <-- após incluir este o problema acontece             pass    class Aplicativo(App):         def build(self):             return MyKeyboardListener()     if __name__ == '__main__':         Aplicativo().run() 

A aplicação só volta a funcionar quando eu chamo o método construtor da mãe, neste caso “Widget”

from kivy.app import App  from kivy.uix.widget import Widget  class MyKeyboardListener(Widget)     def __init__(self):         super.__init__(): <-- Construtor da Mãe  class Aplicativo(App):       def build(self):           return MyKeyboardListener()  if __name__ == '__main__':       Aplicativo().run() 

A pergunta em questão é porque o programa para de funcionar quando declaro o construtor(mesmo que vazio) da classe MyKeyBoardListener? e porque o mesmo volta a funcionar quando chamo o construtor da super classe?

EF CORE – Retornar dados que possuem valor e também os nulos

Tenho uma query LINQ para retornar a quantidade de serviços de cada área, que também retorna o nome de cada área e o seu ID:

var query =                 _context.services.Include(x => x.Area)                 .Where(service => DateTime.Today.AddDays(-15) <= service.CreationDate)                 .Where(x => x.Area.IsAuxiliar == getAreasDto.IsAuxiliar)                 .GroupBy(x => x.Area)                 .Select(x => new GetServicesCountByArea() {                     ServicesCount = x.Count(),                     AreaDescription = x.Key.Description,                     AreaId = x.Key.Id                 }); 

Utilizando Include() vou retornar apenas as áreas que possuem serviços. Preciso retornar todas as áreas, tanto as que tem serviços, como as que não tem nenhum. Como posso fazer isso?

PriGrelha – Não consigo utiliza-la, obtenho sempre erro ao clicar em Actualiza dados e o Botao para update tambem nao funciona,

Olá,

Estou a testar a PriGrelha na v10 e peguei no exemplo da Primavera e tentei de forma muito simplificada alterar e correr o básico para o funcionamento da Grelha, mas não percebo o porquê de não conseguir executar nada.

Eu criei um Form simples, uma PriGrelha: priGrelha1 e um butão: btnUpdate, A ideia é ao clicar no butão ele le a tabela artigos e escreve simplesmente o codigo e a descrição.

Grato pelo tempo!

  using Primavera.Extensibility.CustomForm; using Primavera.Integrador.Resources; using PRISDK100; using StdBE100; using System; using System.Text; using UpgradeHelpers.Spread;  namespace Primavera.Integrador {     public partial class FDU_Configurations : CustomForm     {         // Column name consts         // Normal columns         private const string colArtigo = "Artigo";         private const string colDescricao = "Descricao";         private bool controlsInitialized = false;         private string categoriaArtigo = "mntTabArtigo";          public FDU_Configurations()         {             InitializeComponent();         }          private void btnUpdate_Click(object sender, System.EventArgs e)         {             try             {                 LoadGrid();             }             catch (Exception ex)             {                 PSO.Dialogos.MostraErroSimples("", StdPlatBS100.StdBSTipos.IconId.PRI_Critico, ex.Message);             }         }          private void FDU_Configurations_Load(object sender, EventArgs e)         {             // Initialize the SDK context             InicializaSDKContexto();              // Initialize SDK controls             InicializaSDKControls();              // Initialize the grid             InicializaGrelha();         }          private clsSDKContexto sdkContexto;         //Funcção que inicializa o contexto SDK.         private void InicializaSDKContexto()         {             if (sdkContexto == null)             {                 sdkContexto = new clsSDKContexto();                  //Inicializaçao do contexto SDK a partir do objeto BSO e respetivo módulo.                 sdkContexto.Inicializa(BSO, "ERP");                  //Inicialização da plataforma no contexto e verificação de assinatura digital.                 PSO.InicializaPlataforma(sdkContexto);             }         }          private void InicializaSDKControls()         {             //Initializes controls             if (!controlsInitialized)             {                 // Initialize the controls with the SDK context                 priGrelha1.Inicializa(sdkContexto);                  controlsInitialized = true;             }         }          private void InicializaGrelha()         {             priGrelha1.BandaMenuContexto = "Artigos";             priGrelha1.IniciaDadosConfig();              // Normal columns             priGrelha1.AddColKey(colArtigo, FpCellType.CellTypeEdit, "Artigo", 35, true, strCamposBaseDados: "Artigo");             priGrelha1.AddColKey(colDescricao, FpCellType.CellTypeEdit, "Descricao", 50, true, strCamposBaseDados: "Descricao");               // Other properties             priGrelha1.TituloGrelha = "Demo Grid Artigos";             priGrelha1.PermiteAgrupamentosUser = false;             priGrelha1.PermiteOrdenacao = true;             priGrelha1.PermiteActualizar = true;             priGrelha1.PermiteFiltros = true;             priGrelha1.PermiteDetalhes = true;             priGrelha1.PermiteStatusBar = true;             priGrelha1.PermiteDataFill = false;             priGrelha1.PermiteVistas = true;              priGrelha1.FormataGrelha();             priGrelha1.LimpaGrelha();         }          private void LoadGrid()         {             StdBELista lista;              StringBuilder query = new StringBuilder();             query.AppendLine(string.Format("SELECT {0} ", priGrelha1.DaCamposBDSelect()));             query.AppendLine("FROM Artigo");             lista = new StdBELista();             lista = sdkContexto.BSO.Consulta(query.ToString());              priGrelha1.DataBind(lista);         }          private void priGrelha1_ActualizaDados(object Sender, EventArgs e) //Evento despoletado pela grelha ao carregar no atualizar         {             LoadGrid();         }          private void priGrelha1_FormatacaoAlterada(object Sender, PriGrelha.FormatacaoAlteradaEventArgs e) //Evento despoletado pela grelha depois de fazer alterações na configuração         {             priGrelha1.LimpaGrelha();         }          private void priGrelha1_MenuContextoSeleccionado(object Sender, PriGrelha.MenuContextoSeleccionadoEventArgs e)  //Evento despoletado pela grelha ao click de uma opção do menu de contexto         {             switch (e.Comando.ToUpper())             {                 case "MNUSTDDRILLDOWN":                     ExecuteDrillDown();                     break;                 default:                     break;             }         }          private void ExecuteDrillDown()         {             int row = priGrelha1.Grelha.ActiveRowIndex;             int col = priGrelha1.Grelha.ActiveColumnIndex;              if (priGrelha1.Cols.GetEditaCol(col).ColKey == colArtigo)             {                 string artigo = PSO.Utils.FStr(priGrelha1.GetGRID_GetValorCelula(row, colArtigo));                  DrillDownManager.DrillDownArtigo(PSO, categoriaArtigo, artigo);                  return;             }         }     } } 

AWS com Route 53 – Domínio com WWW não funciona e HTTPS também não

É minha primeira experiência com AWS, e tem sido bem complicada. Não tenho domínio de montagem de máquinas, nem roteamento de DNS, e o que consegui até o momento foi subir uma instância do Beanstalk, já configurei o MYSQL e coloquei meu site lá. No endpoint para testes, funciona plenamente bem.

Então, configurei o Route 53 para que seja direcionado ao meu domínio. Após isso, peguei os NS’s, e coloquei no RegistroBR para que seja propagado meu domínio.

Route53 Painel do Route53 – Vejam que configurei tanto sem quanto com www.

Resultado: Sem WWW, funciona. Com WWW, não. E, em nenhum caso, o certificado SSL que fiz no Certificate Manager não funciona.

Certificate Manager Painel do Certificate Manager, também criei para ambos casos o certificado SSL.

Através do DNSChecker, vejo que o endpoint com www ainda cai no meu server antigo (hostgator), e em vários pontos, não está propagado.

https://dnschecker.org/#A/www.mosteirodesaobento.com.br

Como posso proceder? O plano do meu cliente é o BASIC e não tenho como acionar o suporte.

Erro no Visualg, eu coloquei o então e mesmo assim continua dando erro, ja tentei colocar a condição entre parenteses também

    Algoritmo "semnome"     // Disciplina  :  [Linguagem e Lógica de Programação]      // Professor   : Antonio Carlos Nicolodi      // Descrição   : Aqui você descreve o que o programa faz! (função)     // Autor(a)    : Nome do(a) aluno(a)     // Data atual  : 04/05/2019  Var // Seção de Declarações das variáveis  conf :vetor[1..19] de inteiro nome :vetor[1..19] de caractere lim :vetor[1..19] de inteiro x, index, esc, i : inteiro final : caractere  Inicio // Seção de Comandos, procedimento, funções, operadores, etc... conf[1] <- 2 conf[2] <- 2 conf[3] <- 6 conf[4] <- 2 conf[5] <- 6 conf[6] <- 2 conf[7] <- 10 conf[8] <- 6 conf[9] <- 2 conf[10] <- 10 conf[11] <- 6 conf[12] <- 2 conf[13] <- 14 conf[14] <- 10 conf[15] <- 6 conf[16] <- 2 conf[17] <- 14 conf[18] <- 10 conf[19] <- 6 nome[1] <- "1s" nome[2] <- "2s" nome[3] <- "2p" nome[4] <- "3s" nome[5] <- "3p" nome[6] <- "4s" nome[7] <- "3d" nome[8] <- "4p" nome[9] <- "5s" nome[10] <- "4d" nome[11] <- "5p" nome[12] <- "6s" nome[13] <- "4f" nome[14] <- "5d" nome[15] <- "6p" nome[16] <- "7s" nome[17] <- "5f" nome[18] <- "6d" nome[19] <- "7p" lim[1] <- 1 lim[2] <- 1 lim[3] <- 1 lim[4] <- 1 lim[5] <- 1 lim[6] <- 1 lim[7] <- 1 lim[8] <- 1 lim[9] <- 1 lim[10] <- 1 lim[11] <- 1 lim[12] <- 1 lim[13] <- 1 lim[14] <- 1 lim[15] <- 1 lim[16] <- 1 lim[17] <- 1 lim[18] <- 1 lim[19] <- 1 x <- 1 final <- " " enquanto (1 = 1) FACA          Escreva("Digite o número que quer distribuir: ")          leia(esc)          index <- 0          enquanto (esc > 0) faca                   enquanto lim[index + 1] < conf[index + 1] FACA                            lim[index + 1] <- lim[index + 1] + 1                            esc <- esc - 1                            se (esc <= 0) ENTAO                               fimse                            index <- index + 1                   para i de 0 ate 1 faca passo compr(lim[1])Faca                               ***se lim[i] > 0 entao***                               final <- final + nome[i] + numpcarac(lim[i]) + " "                                 senao                                      fimse                                 fimpara fimenquanto fimenquanto fimenquanto Escreval(final)        Fimalgoritmo 

Protected Friend em Vb.Net: o campo também é visível em outros projetos

Estou estudando Modificadores de acesso em Vb.net e me surgiu uma dúvida em Protected Friend

Segundo o site macoratti.net:

  • Protected: esconde os membros de uma classe e “os membros marcados com o modificador Protected podem ser acessados na mesma classe e em todas as classes que herdam da classe.”

  • Friend: “você quer que todas as classes do seu projeto sejam capazes de acessar os membros da sua classe mas que classes externas ao seu projeto não tenham este direito.

Neste cenário nem o modificador Private nem o Protected podem lhe ajudar, para esta situação temos o modificador Friend.

Assim sendo, tenho dois projetos em uma mesma solução, Proj1 e Proj2:

Em Proj1, tenho a classe Aluno:

Public Class Aluno          Public Nome As String         Protected Endereco As AlunoEndereco         Protected Friend idade As Integer         Protected Class AlunoEndereco             Public Rua As String             Public Cidade As String             Public Estado As String             Public Cep As String         End Class     End Class 

e em Proj2 tenho a classe Teste que herda de Aluno:

Class Teste     Inherits Aluno      Sub New()         idade = 2     End Sub End Class 

Como um modificador de acesso Protected permite um membro só ser visível na própria classe e em classes herdadas, mas ao combinar com o modificador protected com friend, pensei que aconteceria que o campo idade só pudesse ser visto dentro da classe em Proj1 mas não em Proj2, mas aconteceu que também foi possível acessar idade a partir da classe Teste em Proj2, alguém poderia me explicar por que isto acontece?